我已经阅读了很多关于这个问题的帖子,但它们都不适合我。我的数据库中有'ISA'关系。 人可以是患者或护士:
class Person extends Model
{
protected $table = 'persons';
public function commentable()
{
return $this->morphTo();
}
}
class Patient extends Model
{
public function persons()
{
return $this->morphMany('App\Person', 'commentable');
}
}
class Nurse extends Model
{
public function persons()
{
return $this->morphMany('App\Person', 'commentable');
}
}
这是我的路线:
Route::get('person', function () {
$person = Person::find(1)->commentable();
return json_decode(json_encode($person), true);
});
我得到一个空数组!
答案 0 :(得分:3)
您必须以属性身份访问该关系:
$person = Person::find(1)->commentable;