Laravel雄辩的关系'与'关键字

时间:2017-03-05 05:22:05

标签: 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');
}

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

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

驱动程序信息到来,客户端变为空。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

用两个键定义关系:

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