Laravel Polymorphic Relations返回NULL

时间:2018-05-24 15:05:21

标签: php laravel polymorphism relational-database

我已经阅读了很多关于这个问题的帖子,但它们都不适合我。我的数据库中有'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');
    }
}

这是我的表格及其中的数据: My database and data inside them

这是我的路线:

Route::get('person', function () {
    $person = Person::find(1)->commentable();
    return json_decode(json_encode($person), true);
});

我得到一个空数组!

1 个答案:

答案 0 :(得分:3)

您必须以属性身份访问该关系:

$person = Person::find(1)->commentable;