Сохранить данные из строк таблицы в laravel - PullRequest
0 голосов
/ 26 сентября 2018

У меня есть несколько полей ввода с одним и тем же именем на странице, когда я пытаюсь сохранить, я выдаю ошибку. Как мне сохранить данные из нескольких строк таблицы в базу данных.Ошибка при создании объекта по умолчанию из пустого значения здесь1008 *

public function storevarient_update(Request $request)
    {
//return $request;
        $varientprice = new Price();
        $varientprice->variant_id = $request->input('varient');
        $varientprice->discount = $request->input('discount');
        $varientprice->price = $request->input('vehicleprice');
        $varientprice->save();


        $varientaccess = new Categoryvariantmapping();

          foreach ($varientaccess as $varientaccesss){

        $varientaccesss->variant_id = $request->input('varient');
        $varientaccesss->cat_id = $request->input('test');
        $varientaccesss->rate = $request->input('cat_price');
        $varientaccesss->status = '0';

       $varientaccess->save();
   }

        return redirect('Varientupdate')->with('success', 'Details  Added Successfully');


    }

дд ($ request-> all);

enter image description here

Ответы [ 2 ]

0 голосов
/ 26 сентября 2018

Целью этого является инициализация новых данных, которые вы собираетесь сохранить в базе данных в ближайшее время

$varientaccess = new Categoryvariantmapping();

, но вы помещаете их вне цикла

$varientaccess = new Categoryvariantmapping();

foreach(....)

, что означаетнезависимо от того, сколько строк внутри foreach, он будет сохранен только один раз, потому что вы не будете инициализировать снова

, поэтому решение состоит в том, чтобы поместить его в цикл

foreach(....) {

    $varientaccess = new Categoryvariantmapping();
    $varientaccesss->variant_id = $request->input('varient');
    $varientaccesss->cat_id = $request->input('test');
    $varientaccesss->rate = $request->input('cat_price');
    $varientaccesss->status = '0';

   $varientaccess->save();

}
0 голосов
/ 26 сентября 2018

Вы можете сохранить как это

public function storevarient_update(Request $request)
{
    //return $request;
    $varientprice = new Price();
    $varientprice->variant_id = $request->input('varient');
    $varientprice->discount = $request->input('discount');
    $varientprice->price = $request->input('vehicleprice');
    $varientprice->save();
    $cat_id = $request->input('cat_price');
    $test_ids = $request->input('test');
    foreach($test_ids as $key => $test)
    {
        $varientaccesss = new Categoryvariantmapping();
        $varientaccesss = new Categoryvariantmapping();
        $varientaccesss->variant_id = $request->input('varient'),
        $varientaccesss->cat_id = $test,
        $varientaccesss->rate = $cat_id[$key],
        $varientaccesss->status = '0',
        $varientaccess->save();
    }
    return redirect('Varientupdate')->with('success', 'Details  Added Successfully');
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...