chazovs
@chazovs
Корпорация Центр

Как сделать пагинацию при отношении многие ко многим?

Есть таблица companies, таблица users и таблица company_user
На странице я вывожу компании, которых состоит текущий авторизованный пользователь:

$userID = Auth::user()->id;
$user = App\User::find($userID);
$companies=$user->companies;
@foreach($companies as $company)
{{ $company->name }}
@endforeach


Мне нужно сделать пагинатор к этому выводу.
Вообще не получается... пробовал так - не работает:
$companies2=App\Company::withCount(['users' => function ($query) {
    $query->where('id', auth()->id());
}])->paginate(1);


Подскажите, пожалуйста.
  • Вопрос задан
  • 159 просмотров
Решения вопроса 1
Sanasol
@Sanasol Куратор тега Laravel
нельзя просто так взять и загуглить ошибку
$user->companies()->paginate(10)

А вообще, проще и понятнее не использовать отношение в данном случае. Смысла все равно не много.
Просто App\Company::where('user_id', $user_id)->paginate(10);

Каша какая-то получилась здесь, почему не просто where?
withCount(['users' => function ($query) {
    $query->where('id', auth()->id());
}])
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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