Как вставить несколько значений в сводную таблицу, используя метод присоединения или синхронизации в Laravel

Я работаю с laravel многие ко многим отношениям. В моем начальном файле базы данных я добавляю множественную вставку в pivot_table с помощью attach() метод как —

 $role_admin->permissions()->attach(array($permission_create,$permission_read,$permission_update,$permission_delete));

Но когда я бегу db:seed artisan command это показать эту ошибку.

PDOException: 🙁 «SQLSTATE [HY000]: общая ошибка: 1366 Неверное целочисленное значение: ‘{» id «: 1,» name «:» Create «,» slug «:» Create «,» description «:» Это основное Разрешение на создание «,» creation_at «:» 2018-12-17 05:23:31 «,» upda «для столбца «mission_id» в строке 1 «)

если я использую sync() вместо attach() тогда покажи эту ошибку.

ErrorException: недопустимый тип смещения

Теперь я хочу знать, как я могу использовать несколько значений одновременно в моем permisson_role pivot Table

Вот мой RoleTableSeeder Образец…

class RoleTableSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
$permission_create=Permission::where('slug','Create')->first();
$permission_read=Permission::where('slug','Read')->first();
$permission_update=Permission::where('slug','Update')->first();
$permission_delete=Permission::where('slug','Delete')->first();

$role_admin=new Role;
$role_admin->name="Admin";
$role_admin->slug=ucfirst("admin");
$role_admin->description="This is Super-Admin Role";
$role_admin->save();
$role_admin->permissions()->attach(array($permission_create,$permission_read,$permission_update,$permission_delete));
//$role_admin->permissions()->sync(array($permission_create,$permission_read,$permission_update,$permission_delete));


}
}

0

Решение

->first() не возвращает идентификатор, вы должны использовать так: ->first()->id

1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector