Как сохранить два связанных массива в одной строке таблицы в базе данных на контроллере laravel? - PullRequest
0 голосов
/ 01 июля 2019

Я передал свой объект formData через Ajax в контроллер laravel, который имеет «pic []», который содержит массив загруженных изображений, и «desc []», который содержит массив описательного текста, который относится к соответствующему индексу для каждого изображенияв массиве pic [].

Обычно, когда я хочу вставить его в базу данных, я делаю это

if ($request->hasFile('pic')) {
        foreach($request->pic as $p) 
        {  
            $myRow = tableName::create([
                'picture' => $p
            ]);
        };
    };

Но теперь, когда я хочу вставить описание изображения вВ той же строке, которую я только что создал, вложенный цикл наверняка не сработает, и я не уверен, как это сделать с помощью двойного цикла для массива desc.

Ответы [ 2 ]

0 голосов
/ 01 июля 2019

Следуйте этому коду, чтобы вставить изображение в базу данных, используя ajax

    foreach($request->pic as $index => $p) 
    {  
        $myRow = tableName::create([
            'picture'     => $p,
            'description' => $request->desc[$index] // also try $request->get('desc.' .$index)
        ]);
    };

Я надеюсь, что это было полезно для вас.

0 голосов
/ 01 июля 2019

Если у вас есть desc[], например: [0 => 'First', 1 => 'Second', ...], вы можете получить доступ к index описания, если оно равно индексу picture.

foreach($request->pic as $index => $p) 
        {  
            $myRow = tableName::create([
                'picture'     => $p,
                'description' => $request->desc[$index] // also try $request->get('desc.' .$index)
            ]);
        };

Надеюсь, это было полезно.Удачи.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...