php – Laravel有一个条件关系
发布时间:2020-12-14 19:38:48 所属栏目:大数据 来源:网络整理
导读:我有一个用户模型,每个用户都有一个内部或外部类型.存储在内部和外部用户上的数据非常不同,因此存在单独的UserInternal和UserExternal模型. 我该如何定义这种关系? UserInternal和UserExternal表中有一个键’user_id’,每个用户在其中一个表中都有一个匹配
我有一个用户模型,每个用户都有一个内部或外部类型.存储在内部和外部用户上的数据非常不同,因此存在单独的UserInternal和UserExternal模型.
我该如何定义这种关系? UserInternal和UserExternal表中有一个键’user_id’,每个用户在其中一个表中都有一个匹配的行. 当我检索用户数据时,它总是通过用户模型,但我想要扩展数据. 我该怎么做呢?我试过这个,但它并不总是有效(例如,如果我尝试User :: with(‘data’) – > find(1)它将无法工作,因为$this尚未设置. 在用户模型中: public function data() { if( $this -> type === 'internal' ) { return $this -> hasOne('UserInternal'); } else { return $this -> hasOne('UserExternal'); } } 解决方法
尝试在获取用户后加载关系:
$user = User::find(1); if( ! is_null($user)) { $user->load('data'); } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |