Laravel - 插入&更新时删除行

时间:2018-05-21 11:43:57

标签: database laravel eloquent relationship one-to-many

我有一对多的模型关系。在创建新记录时,我可以保存尽可能多的行。但我想在更新操作后添加新行或删除已保存的行。我该怎么做?

项目模型

public function models() {
    return $this->hasMany(Model::class, 'item_id');
}

模型模型

public function model()
{
    return $this->belongsTo(Item::class, 'item_id');
}

控制器

商店

public function store(Request $request, Item $item)
 {
  $item = new Item;
    $item->title = request('title');

    if($item->save())
      {
       for ($i=0; $i < count(request('model_name')); ++$i) 
        {
        $model = new Model;
        $model->name = request('name')[$i];
        $model->price = request('price')[$i];
      }
   return redirect()->back();
 }

更新

public function update(Request $request, $id){
$item = Item::findOrFail($id);
$data = $request->all()
$models = Model::with(['model'])->where('item_id', $item->id)->get();
  $i=0;   
  foreach($models as $new_model)
    {
      if (isset($model_name[$i])){
           $new_model->sku = request('name')[$i];
           $new_model->price= request('price')[$i];
           $++i;
         $shnp->models()->save($new_model);
       }
    }
    $item->update($data);
  }

修改表单

Edit Form

数据库表

Item - Model

0 个答案:

没有答案