ПринадлежитToMany ошибка в разрешении laravel spatie?

Мой код работает 1 год назад, но теперь я получаю сообщение об ошибке, когда обновляю файл composer. Я использовал пакет laravel от laravel-spatie.

"spatie/laravel-permission": с 1.16.1 обновлено на 1.3.0,

версия ларавела: ларавель 5.2

FatalThrowableError in BelongsToMany.php line 599:
Type error: Argument 1 passed to Illuminate\Database\Eloquent\Relations\BelongsToMany::save() 
must be an instance of Illuminate\Database\Eloquent\Model, array given, called in 
/var/www/html/mto-erp/vendor/spatie/laravel-permission/src/Traits/HasPermissions.php on line 18

Контроллер

$user = User::where('partner_id',$id)->first();
$permission = Permission::where('name','LIKE','accounting_%')->select('name')->get();
$permission = $permission->pluck('name')->toArray();
$user->revokePermissionTo($permission);
if (Input::get('permissions')){
   $user->givePermissionTo(Input::get('permissions'));
}

пакет разрешений laravel — spatie/laravel-разрешение

Попробуйте заменить $permission = $permission->pluck('name')->toArray(); на $permission = $permission->pluck('name');

Sapnesh Naik 08.04.2019 09:57

такая же ошибка. Думаю дело в пакете.

Ariel Pepito 08.04.2019 10:06

покажи код givePermissionTo() и revokePermissionTo()

Sapnesh Naik 08.04.2019 10:08
givePermissionTo и revokePermissionTo() — это метод, предоставленный пакетом laravel-spatie. laravel-spatie-здесь
Ariel Pepito 08.04.2019 10:10

Можете ли вы показать нам свой конструктор?

pr1nc3 08.04.2019 10:12

на самом деле мой код работает нормально, прежде чем я запущу composer install

Ariel Pepito 08.04.2019 10:19
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
6
308
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Я думаю, что что-то не так с spatie/permission версии 1.3. Я тоже столкнулся с этой проблемой.
Попробуйте установить spatie/permission версии 1.16*, которая устранила мою проблему.

да вы правы! я понизил его до 1.16.1 и повторно запустил установку композитора, которая решила мою проблему.

Ariel Pepito 08.04.2019 10:45

Публиковать журналы ошибок на веб-сайте разработчиков? Это дает им возможность исправлять ошибки.

ZF007 08.04.2019 10:53

Другие вопросы по теме