为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用laravel中的键值从另一个表更新一些记录表

如何使用laravel中的键值从另一个表更新一些记录表

PHP
眼眸繁星 2021-11-26 15:50:33
我有这样的表用户| 身份证 | 用户 | 车辆_ID | 车辆_Desc |-----------------------------------------| 1 | 约翰 | 201 | 汽车 || 2 | 克里斯 | 202 | 汽车 |我有这样的桌车| 身份证 | 车辆 |---------------------| 201 | 汽车 || 202 | 摩托车 |如何根据表车辆中的基准更新 Cris 记录上的 Vehicle_Desc?使用 Laravel
查看完整描述

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]);


查看完整回答
反对 回复 2021-11-26
?
狐的传说

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 。


查看完整回答
反对 回复 2021-11-26
  • 2 回答
  • 0 关注
  • 155 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信