我無法弄清楚如何做一個聯合聲明的等效語言。Laravel Eloquent JOIN WHIN id爲null
基本上從下面的代碼中,我要像下面這樣的查詢:
SELECT *
FROM Vehicle v
JOIN VehicleImage i ON v.id = i.vehicle_id
limit 24
這是查詢我目前正在使用:
$cars = Vehicle::with(['images' => function($q){
$q->orderBy('order');
}])->take(24)->get();
目前其帶回所有車輛無論是否有一個圖像或沒有 - 所以我想一個左連接。我不想要這個,我只想要有一個或多個圖像的行。這可能嗎?
class Vehicle extends Eloquent
{
public function images()
{
return $this->hasMany('App\Domain\Vehicles\VehicleImage');
}
}
class VehicleImage extends Eloquent {
public function vehicle()
{
return $this->belongsTo('App\Domain\Vehicles\Vehicle');
}
}
它doen't加入了'with'。這是渴望加載,它使用2個查詢。第二個是「IN」。 – Dinar