php 条件 在之间的关系,php – Laravel有一个条件关系

我有一个用户模型,每个用户都有一个内部或外部类型.存储在内部和外部用户上的数据非常不同,因此存在单独的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');

}

标签:php,orm,laravel,laravel-4

来源: https://codeday.me/bug/20190708/1403321.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值