I have two tables bookings,units,categories,shifts
bookings
bookingId unitId date status categoryId, shiftId
I need ordering conditions like below.
$query = $query->orderBy('date','ASC');
$query = $query->orderBy('status','DESC');
$query = $query->orderBy('shiftId','ASC');
$query = $query->orderBy('unit.name', 'DESC');
$query = $query->orderBy('categoryId','ASC');
I have created shifts, categories, units relationship in Booking Model.
public function shift(){
return $this->hasOne(Shift::class,'shiftId','shiftId');
}
public function unit(){
return $this->hasOne(ClientUnit::class,'clientUnitId','unitId');
}
public function category(){
return $this->hasOne(StaffCategory::class,'categoryId','categoryId');
}
But when I tried, the unit name 4th condition of orderBy is not working properly, all other order conditions are on Bookings table and 4th condition is with the relation table.
How can I do it with only relationship. In this projects I am not used any Joins in this project and I will expect a solution without a Join to units table.
Thank You.
via Chebli Mohamed
Aucun commentaire:
Enregistrer un commentaire