0
을 laravel주문 컬렉션 및 관계 컬렉션 내가 laravel 쿼리 다음 한
$user = $this->user; //current user (dispatcher)
//obtain list of dispatchers,trucks,deliveries,drivers,trailers
$dispatchers = $this->instance->user()->where('active', 1)->with(['truck.delivery' => function($query) use ($week_array) {
$query->where('delivery_date', '>=', Carbon\Carbon::parse($week_array[1]['date'])->toDateTimeString())->whereNotNull('driver_id')
->orderBy('delivery_date');
}])->with(['truck.trailer', 'truck.driver', 'truck.driver2', 'truck.trailer.trailerType'])->get()
->sortBy('name')->sortBy(function ($item) use ($user) {
return $item->id == $user->id ? 1 . $item->name : 2 . $item->name;
});
내 목표는 컬렉션의 첫 번째 항목이 될 현재 사용자를 가지고있다, 그리고, 나는 알파벳 순으로 정렬이 컬렉션을 갖고 싶어 사용자 이름
또한 문제가 발생하여 각 사용자의 드라이버 (하위 집합의 하위 집합)를 사전 순으로 정렬해야합니다.
전체 컬렉션의 레벨 1정렬 : $user fist, and then by $dispatchers->name
정렬 수준이 컬렉션의 각 항목에 대해이 : 현재 사용자가있는 경우 $dispatchers->truck->driver->first-name
이
내가 (레벨 1에 대한 일종의을 만들 수 있었다 항상 온다 상단), 각 사용자에 대한 컬렉션을 정렬 할 수 없습니다.
최종 결과는 그것은 나를 위해 작동 (드라이버 컬렉션 드라이버 이름으로 정렬 순서 사용자와 트럭 컬렉션)
CURRENT USER (not matter the name)
Truck 50
Driver AA
Truck 45
Driver BB
Truck 56
Driver CC
USER A
Truck 10
Driver A
Truck 6
Driver B
Truck 20
Driver C
USER B
Truck 2
Driver D
Truck 3
Driver E
Truck 1
Driver F
USER C
Truck 30
Driver G
Truck 35
Driver H
Truck 13
Driver Z
등