laravel属于合并吗?

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

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

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

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

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

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

6kkfgxo0

6kkfgxo01#

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

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

相关问题