Я хотел бы использовать attach()
на отфильтрованный результат Builder:Как использовать прикрепленный файл Laravel() для отфильтрованного запроса?
$users = User::whereIn('type', array(1, 2))->get();
$usersType_1 = $users->filter(function($item) {
return $item->type == 1;
});
$usersType_2 = $users->filter(function($item) {
return $item->type == 2;
});
$usersType_1->role()->attach(3);
$usersType_2->role()->attach(4);
Таким образом, мне нужно прикрепить role
на основе пользователя type
. Метод role()
указан на User
модели
attach()
часть из кода выше выдает следующее сообщение об ошибке: Метод ролей() не существует - который я предполагаю, происходит потому, что filter()
возвращает коллекцию.
Есть ли способ подключения записей поворота в отфильтрованном результате Builder? Или мне нужно запустить 2 отдельных запроса и запустить attach()
на них соответственно?
роли() функция не существует вы извлекая эту модель в контроллер – Sona
Все происходит в другой модели. Метод 'role()' указан в модели 'User'. – lesssugar
Функция роли присутствует в пользовательской модели. – Sona