Я пытаюсь получить пользовательские поля из модели, используя оператор with()
в laravel.Когда я просто получаю все поля, дочерний объект работает нормально, но когда я пытаюсь получить только некоторые поля этого дочернего объекта, он возвращает мне следующую ошибку: Integrity constraint violation: 1052 Column 'id' in field list is ambiguous
, ниже я покажу, как яя делаю эти запросы.
Когда я выполняю следующий запрос, он работает:
$cfps = CallForPaper::select('id', 'speech_id')->with([
'speech:id,title,description',
'speech.speakers'
])->get();
Но когда я выполняю код ниже, он возвращает ошибку, которая у меня естьупомянутое выше.
$cfps = CallForPaper::select('id', 'speech_id')->with([
'speech:id,title,description',
'speech.speakers:id,name,email'
])->get();
Примечание: , чем только изменение в этом коде является строка: 'speech.speakers:id,name,email'
в моей модели Речь ,соотношение speakers
следующее:
public function speakers()
{
return $this->belongsToMany(Speaker::class, 'speech_speaker');
}