Laravel更新相关的模型和表格

时间:2018-03-07 12:54:33

标签: laravel laravel-5

例如,我有这段代码。

public function update(Request $request, $id){
    $abc = Model::find($id);
    $abc->column1 = $request->input1;
    $abc->column2 = $request->input2;
    $abc->save();
}

在保存$ abc对象时,我必须更新相关模型。就是这样。

注意:$ abc hasMany $ def;

public function update(Request $request, $id){
    $abc = Model::find($id);
    $abc->column1 = $request->input1;
    $abc->column2 = $request->input2;
    $abc->save();

    if($abc){
        foreach($request->data){
             //what should I do here to update the rows in the table that 
               has the same $abc->id as above ?

        }
    }
}

我见过associate(),$ abc-> def() - > save($ abc),但是不能想办法如何正确地将数据数组保存到相关表中

1 个答案:

答案 0 :(得分:0)

你可以做这样的事情

public function update(Request $request, $id){
    $abc = Model::find($id);

    if(isset($abc)){

        $abc->column1 = $request->input1;
        $abc->column2 = $request->input2;
        $abc->save();

        // assuming the related model is called xyz
        if($abc->xyz !== null) {
           $abc->xyz->column3 = $request->input3;
           $abc->xyz->save();
        }
    }
}

当然,根据您正在处理的解决方案,有更优雅的方式来处理关系。