2 回答
TA贡献1818条经验 获得超8个赞
这是一个简单的 SQL 查询,但在原始 SQL 中执行比通过内置查询构建器更容易:
$userId = 2; // id of chris
$sql = <<<SQL
UPDATE u
SET u.vehicle_desc = v.vehicle
FROM users u
INNER JOIN vehicles v ON v.id = u.vehicle_id
WHERE u.id = ?
SQL;
\DB::statement($sql, [$userId]);
TA贡献1804条经验 获得超3个赞
如果您想在最终用户从前端更新车辆表后立即更改用户,那么我建议您在使用分配给 Model Vehicle 的控制器时,例如 VehicleController,创建一个更新函数。假设您在 Vehicle 表中只有一个名为 Vehicle 的列。
//Inside Vehicle Controller
use App\User; \\call the User model
use App\Vehicle; \\call the Vehicle model
假设用户从表单更新了 ID 为 202 的车辆,然后在视图中创建一个表单并在其中发布带有 202 值的 ID,例如:
<form method="post" action="{{ url('vehicle/'.$id) }}" >
@csrf
your form inputs and submit button
</form>
然后使用路由将表单发布到 VehicleController@update (或者您可以使用资源控制器)例如 Route::post('vehicle/{id}','VehicleController@update'); 然后在 Vehicle Controller 中
public function update(Request $request, $id)
{
$request->validate([
//provide your validation here
]);
$vehicle_req = $request['name_of_input field'];
//After validation
$vehicle = Vehicle::find($id);
$user = User::find($id);
$vehicle->update([
'Vehicle' => $vehicle_req,
]);
$user->update([
'vehicle_Desc' => $vehicle_req,
]);
return redirect()->back()->with('success', 'Value Edited
successfully.');
}
最后,您可以在视图上显示成功消息。它将同时更新 Vehicle 表的 Vehicle Column 和 User 表的 Vehicle_Desc 。
- 2 回答
- 0 关注
- 155 浏览
添加回答
举报