Laravel属于合并吗?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Laravel属于合并吗?相关的知识,希望对你有一定的参考价值。
我正在尝试为我的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
不可能,我可以以某种方式创建一个支持这个的自定义关系吗?
答案
belongsTo()
返回一个查询构建器,以便您可以继续并在其末尾链接->whereRaw()
:
public function billedVehicle() {
return $this->belongsTo(Vehicle::class)
->whereRaw(DB::raw('coalesce(billed_vehicle_id,vehicle_id)'));
}
以上是关于Laravel属于合并吗?的主要内容,如果未能解决你的问题,请参考以下文章
我可以合并一个运行 insert into 的 .sql 文件和一个在 2 列上创建虚拟数据的 Laravel 工厂播种器吗?