Laravel belongsTo - 指定字段

时间:2015-07-15 08:30:38

标签: php mysql laravel-4 relational-database

我正在处理belongsTo关系,但需要知道如何指定要关联的字段。

我有报告和汽车表。

car表具有ID字段作为UI。当在汽车上进行报告时,我希望从列表中删除该汽车,以便我使用示波器。

在我的报告表中,我将车辆ID存储为' vehicle_id'。

我有一个belongsTo:

public function deliveryProfitReports()
{
    return $this->belongsTo('DeliveryProfitReport', 'vehicle_id');
}

返回错误是因为它在cars表中查找了vehicle_id字段。

如何更改此功能,以便指定车辆ID为vehicle_id。

编辑:修正错误:

public function deliveryProfitReports()
{
    return $this->belongsTo('DeliveryProfitReport', 'id', 'vehicle_id');
}

但是这个范围:

public function scopeNoDeliveryReports($query) {
    return $query->doesntHave('deliveryProfitReports');
}

$cars = Car::orderBy('RegistrationNumber')
    ->noDeliveryReports()
    ->get();

没有按预期工作并删除行...

下一步是什么?

1 个答案:

答案 0 :(得分:0)

如果外键位于其他表中,您实际上想要使用hasOne

return $this->hasOne('DeliveryProfitReport', 'vehicle_id');

(由于数据类型错误,OP也存在数据库问题)