laravel属于合并吗?

x3naxklr  于 2021-06-21  发布在  Mysql
关注(0)|答案(1)|浏览(337)

我想在我的生活中增加一种关系 Booking 模型。我已经有了这样的关系:

public function vehicle() {
    return $this->belongsTo(Vehicle::class);
}

它在柱子上起作用 bookings.vehicle_id . 不过,现在我要添加另一个名为 bookings.billed_vehicle_id 它将“覆盖” vehicle_id 如果它不是空的。所以我想这样做:

public function billedVehicle() {
    return $this->belongsTo(Vehicle::class,DB::raw('coalesce(billed_vehicle_id,vehicle_id)'));
}

这可能吗?
如果不可能的话 belongsTo 我可以创建一个自定义关系来支持这个吗?

6kkfgxo0

6kkfgxo01#

belongsTo() 返回一个查询生成器,这样您就可以继续 ->whereRaw() 最后:

public function billedVehicle() {
    return $this->belongsTo(Vehicle::class)
        ->whereRaw(DB::raw('coalesce(billed_vehicle_id,vehicle_id)'));
}

相关问题