[英]Laravel belongsTo - Specifying fields
我正在處理一個belongsTo關系,但是需要知道如何指定要關聯的字段。
我有報告和汽車表。
汽車表具有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();
無法正常工作,請刪除行...
接下來是什么?
如果外鍵在另一個表中,則您實際上要使用hasOne
:
return $this->hasOne('DeliveryProfitReport', 'vehicle_id');
(此外,由於數據類型錯誤,OP也存在數據庫問題)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.