【发布时间】:2019-02-14 01:38:18
【问题描述】:
有什么方法可以使 1 个模型与两个不同模型之一之间存在一种关系,这取决于 rule_id,例如:
if($this->rule_id==1)
return $this->hasOne('App\model2');
else
return $this->hasOne('App\model3');
如果你有更好的方法或者这个方法可以提前通知我谢谢
【问题讨论】:
-
您能否为您的问题提供一些背景信息?如果您能够告诉我们您实际想要实现的目标,而不仅仅是使用抽象示例,那么它可能会帮助我们为您指明正确的方向。您所追求的似乎可以使用polymorphic relations 解决,但我不能确定。
-
@Jonathon 嘿,感谢您的回复我正在尝试制作一个所有用户都可以使用的通用模型,然后该用户的额外或附加字段可以从其他模型中获取取决于他的规则。
-
只是添加到上面的评论中,您也可以拥有
morphOne而不是morphMany关系。
标签: php laravel model relationship rules