Как вставить несколько значений в сводную таблицу с помощью метода присоединения или синхронизации в 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]: General error: 1366 Incorrect integer value: '{"id":1,"name":"Create","slug":"Create","description":"This is basic Create Permission","created_at":"2018-12-17 05:23:31","upda' for column 'permission_id' at row 1")

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

ErrorException : Illegal offset type

Теперь я хочу знать, как я могу одновременно использовать несколько значений в моем permisson_rolepivot 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));


}
}
Стоит ли изучать 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
0
213
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

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

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

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