Laravel Polymorphic Relations возвращает NULL - PullRequest
0 голосов
/ 24 мая 2018

Я прочитал много сообщений об этой проблеме, но ни один из них не работает для меня.У меня есть отношения '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 голосов
/ 25 мая 2018

Вы должны получить доступ к отношениям как свойство:

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