0

我必须更新通过 laravel 中的内部连接连接的 3 个表数据。是否有任何查询系统可以在 laravel 中更新一次

4

1 回答 1

1

简单的答案是的,有!这是一个快速示例 Task.php

class Task extends Model
{
    protected $fillable =
    [
        'user_id',
    ];

    public function user() {
        return $this->belongsTo('App\User');
    }

    public function engagements()
    {
        return $this->belongsToMany('App\Engagement', 'engagement_task', 'task_id', 'engagement_id');
    }
}

任务控制器.php

public function update(Request $request, Task $task)
    {

        if ($task->user_id !== auth()->user()->id) {
            return response()->json('Unauthorized', 401);
        }

        $data = $request->validate([
            'user_id' => 'required|integer',
        ]);

        $task->update($data);

        $status = $request->validate([
            'status' => 'required|string'
        ]);

        $task->engagements()->update($status);

        return response($task, 200);
    }

来源:https ://laracasts.com/discuss/channels/laravel/how-to-update-multiple-tables-at-the-same-time

于 2020-02-26T12:45:00.477 回答