Php 如何在laravel中使用键值从Anotor表更新某些记录表

Php 如何在laravel中使用键值从Anotor表更新某些记录表,php,laravel,laravel-5,Php,Laravel,Laravel 5,我有这样的用户 | ID | user | vehicle_ID | vehicle_Desc | ----------------------------------------- | 1 | Jhon | 201 | Car | | 2 | Cris | 202 | Car | | ID | Vehicle | --------------------- | 201 | Car | | 202 | Mo

我有这样的用户

| ID | user | vehicle_ID | vehicle_Desc | ----------------------------------------- | 1 | Jhon | 201 | Car | | 2 | Cris | 202 | Car | | ID | Vehicle | --------------------- | 201 | Car | | 202 | Motorcycle | |ID |用户|车辆| ID |车辆|说明| ----------------------------------------- |1 | Jhon | 201 |车| |2 | Cris | 202 |车| 我有一辆像这样的桌子车

| ID | user | vehicle_ID | vehicle_Desc | ----------------------------------------- | 1 | Jhon | 201 | Car | | 2 | Cris | 202 | Car | | ID | Vehicle | --------------------- | 201 | Car | | 202 | Motorcycle | |ID |车辆| --------------------- |201 |汽车| |202 |摩托车|
如何根据vehicle表中的基准更新Cris记录中的vehicle_Desc?使用laravel

这是一个简单的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]);
$userId=2;//克里斯的身份证

$sql=如果您希望在最终用户从前端更新车辆表后立即更改用户,那么我建议您在使用分配给模型车辆的控制器时,比如车辆控制器,创建一个更新功能。假设在Vehicle表中只有一列名为Vehicle

 //Inside Vehicle Controller
use App\User;       \\call the User model
use App\Vehicle;     \\call the Vehicle model
假设用户使用表单中的id 202更新车辆,然后在视图中创建一个表单,并在其中发布带有202值的id 例如:


最后,您可以在视图上显示成功消息。它将同时更新Vehicle表的Vehicle列和User表的Vehicle描述。

您在谈论什么基准?使用查询生成器laravel的情况如何?不知道,从未与查询生成器一起进行更新查询。由于以上是标准SQL,因此它应该在任何DBMS上运行。所以不会有比这更好的了。