【发布时间】:2020-07-24 23:21:00
【问题描述】:
使用 Laravel 和 Eloquent。我有一个如下所示的数据库:
dance_performers.dance_perfomer_type 字段包含 '\App\Dancer'、'\App\Couple' 或 '\App\Formation' 等值。
您将如何继续将dance_performers.dance_perfomer_id 连接到不同的型号?我不确定我应该如何在不同的模型中编写关系。
我是否应该创建一个 \App\Performer 模型,然后将其定向到前面提到的三个模型之一?
使用多态关系:
class Dance extends Model {
public function couples() {
return $this->morphedByMany('\App\Couple', 'dance_performer');
}
}
class Couple extends Model
{
public function dances() {
return $this->morphToMany('App\Dance', 'dance_performer');
}
}
目前,$dances = \App\Dance::with('couples')->get(); 仅返回空关系。
我将不胜感激。
【问题讨论】:
-
查看我的答案会解决你的问题
标签: php laravel eloquent orm model