У меня есть 2 класса. Ссылки и информация должны быть связаны. Класс Info имеет Link_id, а ссылка имеет User_id.
Я хочу, чтобы пользователи видели информацию о своих ссылках в своих личных панелях. Таким образом, пользователь имеет много ссылок, одна ссылка имеет много информации.
Модель связи имеет:
public function infos()
{
return $this->hasMany('info');
}
}
Инфо-модель имеет:
public function link()
{
return $this->belongsTo('link');
}
Панель инструментов имеетконтроллер. Мне удалось получить все ссылки, выполнив поиск user_id
$linksByOwner = Link::where('user_id',$user_id)->get();
Теперь я пытаюсь найти информацию, расположенную в ссылке. Я попробовал это, используя:
$collectedData = $linksByOwner->infos(); < Not working
$collectedData = Info::where('link_id',19)->info(); < Not working
dd($collectedData);
Это дало мне следующую ошибку:
Method Illuminate\Database\Eloquent\Collection::infos does not exist.
Некоторая дополнительная информация: обе модели имеют внешний ключ, связанный с ними при переносе базы данных
$table->foreign('user_id')
->references('id')->on('users')
->onDelete('cascade');
$table->foreign('link_id')
->references('id')->on('links')
->onDelete('cascade');
Может кто-нибудь показать или сказать мне, как я могу это исправить? Это ошибка определения объема? Нужно ли соединять классы по-другому?