我在基于类型的表中有一个id。
我想要做的是根据列值返回关系
public function to(){
if($this->type === 0){
return $this->hasOne("App\Model\X", "id","created_by");
}else{
return $this->hasOne("App\Model\Y", "id","to_id");
}
}
答案 0 :(得分:2)
这是polymorphic relationships的目的。具有不同列值的模型可以morphTo
相关类型。
多态关系允许模型在单个关联上属于多个其他模型。例如,假设您的应用程序的用户可以“评论”帖子和视频。使用多态关系,您可以对这两种方案使用单个注释表。