Задать вопрос
@SvizzZzy

Отношения в Laravel, нюанс с названием отношений, как сделать корректно?

Добрый день.
Знатоки Лары, подскажите пожалуйста один нюанс.

Например, мы можем использовать отношения вида:
$user->posts() (с получением query builder и дальнейшей работой с запросом)
или же
$user->posts (без скобок, сразу все items без query builder)

Однако, заметил, что если в названии отношения указать два слова, например blogPosts вместо posts,
то не получается вызвать $user->blogPosts. значение будет пустое.
Приходится использовать $user->blogPosts()->get()

Вопрос, как вызвать отношение вида "blogPosts" (из двух слов в названии), чтобы не использовать query builder ?
  • Вопрос задан
  • 149 просмотров
Подписаться 1 Средний Комментировать
Пригласить эксперта
Ответы на вопрос 3
vfreelancer
@vfreelancer
php
укажите вторым параметром в hasMany явно как называется идентификатор!

public function blogPosts()
{
return $this->hasMany(Post::class, 'post_id');
}
Ответ написан
Комментировать
alexey-m-ukolov
@alexey-m-ukolov Куратор тега Laravel
Должно работать $user->blogPosts.
Ответ написан
Fragster
@Fragster
помогло? отметь решением!
просто надо не забыть указать ещё и обратное отношение belongsTo
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы