![](/img/trans.png)
[英]How I can get distinct records from laravel table using elequent model?
[英]How can i get First table records on base of third table by using laravel 5 eloquent model
請求的表格如下:
**User Table**
id, name
1, vehicle person name
2, renter person name
**Vehicle Table**
id, user_id, vehicle_name
1, 1, My car
**Booking Table**
id, renter_id, vehicle_id
1, 2, 1
用戶模型
public function renter() {
return $this->hasMany(Booking::class, 'renter_id');
}
public function vehicleBook() {
return $this->hasManyThrough(Booking::class, Vehicle::class);
}
預訂模式
public function user() {
return $this->belongsTo(User::class, 'renter_id');
}
車型
public function user() {
return $this->belongsTo(User::class);
}
我的控制器
$renters = Auth::user()->renter()->get();
$owners = Auth::user()->vehicleBook()->get();
// In Loop
$renter->user->name; // renter person name
$owner->user->name; // vehicle person name
結果
在預訂表的基礎上,我希望使用Laravel 5 ORM獲得租房者和車輛人名。
我已經使用兩個調用完成了,但我想知道是否有任何方法可以使用一個調用獲得結果?
你可以這樣做。 它會減少行數,但會增加查詢次數。
$user = User::find(Auth::user()->id)->with('renters')->with('vehicleBooks')->first();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.