Отношение Morph To Many Laravel - PullRequest
0 голосов
/ 12 апреля 2020

Вопрос. php

public function votes()
{
    return $this->morphToMany('App\User' , 'votable');
}

Пользователь. php

public function voteQuestions()
{
    return $this->morphedByMany('App\Answer', 'votable');
}

Отображается:

Вызов неопределенного метода Illuminate \ База данных \ Eloquent \ Relations \ MorphToMany :: exits ()

и Laravel говорит вам:

Вы имели в виду Illuminate \ Database \ Eloquent \ Relations \ MorphToMany :: get ()?

1 Ответ

0 голосов
/ 29 апреля 2020

Я думаю, что-то не так в вашем отношении к MorphToMany. Вам нужно что-то вроде этого:

Модель вопроса:

public function votes()
{
    return $this->morphToMany('App\Vote' , 'votable');
}

Модель ответа:

public function votes()
{
    return $this->morphToMany('App\Vote' , 'votable');
}

Модель голосования:

public function questions()
{
    return $this->morphedByMany('App\Question' , 'votable');
}

public function asnwers()
{
    return $this->morphedByMany('App\Answer' , 'votable');
}

Но если Вы хотите проверить существующие отношения, существует метод has('relationName').

exists() метод работает только для экземпляров Eloquent Model.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...