mysql - Laravel Eloquent 关系 'with' 关键字

标签 mysql laravel eloquent laravel-5.4

我有一个名为 rides 的表,我在其中保存了 user_iddriver_id。 所以 rides 表是 id|user_id|driver_id|ticket_id|created_at|updated_at。 所有用户(客户端、驱动程序)都保存在 users 表中。从 rides 表中检索一行时,我写了

$rides = Ride::with('client','driver')->get();

关系:

public function client()
{
   return $this->belongsTo(User::class,'user_id');
}

public function driver()
{
   return $this->belongsTo(User::class,'driver_id');
}

现在的问题是当检索到一行时,只有客户端的信息来了。 驱动程序null。 交换参数 driverclient

$rides = Ride::with('driver','client')->get();

driver信息来了,client变成null..这个问题怎么解决?

最佳答案

定义与两个键的关系:

public function driver()
{
    return $this->belongsTo(User::class, 'driver_id', 'id');
}

关于mysql - Laravel Eloquent 关系 'with' 关键字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42604827/

相关文章:

mysql - 分隔一系列 txt 并将其放入 csv 或数据库中

PHP/MySQL更新查询问题

Java JDBC 通用SQL插入功能

mysql - 为什么外键不更新?

Laravel 具有多列的belongsToMany 数据透视表

mysql - Laravel 查询过滤器审查与关系

mysql - 使用 Eloquent 加入 Laravel 4

laravel - 测试 Laravel Sanctum 作为错误方法调用的结果

php artisanserve --host 0.0.0.0 无法从同一网络上的移动设备访问

mysql - eloquent - 查询生成器运行带绑定(bind)的原始 sql