Как обновить несколько записей в базе данных из одной формы? форма обновляет более одной модели, имеющей отношение один ко многим - PullRequest
0 голосов
/ 02 марта 2020

контроллер

public function update ($id,Request $request){ 
    $supplier= \App\Supplier::find($id);
    $suppliers = ['email'=>$request->input('email'),
                  'en' => ['name' => $request->input('en_name'),
                           'company' => $request->input('en_company'),
                           'address' => $request->input('en_address'),  
                          ],
                 ];
    $supplierlandline= \App\Supplierlandline::where('supplier_id',$id);
    foreach($request->landline as $landline){
        $data=['landline'=>$request->input('landline')];
        $supplierlandline->update($data);
    }
    $supplier->update($suppliers);
    return back ();
}

модель поставщика

public function supplierlandlines(){
    return $this->HasMany('\App\Supplierlandline');
}

модель стационарного поставщика

public function suppliers(){
    return $this->BelongsTo('\App\Supplier');
}

поставщик имеет более одного номера стационарного телефона, когда я обновляю один из них, все они обновляются с тем же номером, который является последним номером в массиве, в функции все работает хорошо, кроме обновления номеров фиксированной связи.

...