먼저, this을 보았습니다. 그러나 피벗 테이블이 포함되어 있으므로 솔루션을 얻을 수 없었습니다. 내 두뇌는 그 해답을 추상화 할 수 없었다.중첩 된 열의로드 관계에 의한 Laravel 순서
$orderLines = PurchasingOrderLine::where('season_id', '=', $seasonRecID)
->with('factory')
->with('purchasingFactoryDates.milestone')
->with('divergedColors.purchasingColorDates.milestone')
->get();
그래서 그것은 아주 큰 관계가있다 :
나는이 쿼리가 있습니다.
purchasingFactoryDates
을 milestone
의 "number"속성으로 정렬하고 싶습니다. 여기
은 ..이 작업을 수행하는 방법에 대한
{
id: 1,
season_id: 258,
factory_id: 38,
archived: 0,
created_at: "2016-10-03 00:00:00",
updated_at: "2016-10-04 00:00:00",
factory: {
ID: 38,
name: "testfac",
address: "testadrr",
postCode: "",
city: "Foo",
countryID: 27,
podID: 2,
warehouse_id: 3,
paymentTermID: 11,
factoryCode: "Bazz",
active: 1
},
purchasing_factory_dates: [
{
id: 1,
purchasing_order_line_id: 1,
milestone_id: 1,
milestone_date: "1993-10-22 19:15:51",
milestone_status_id: 2,
created_at: "2016-10-04 07:38:30",
updated_at: "2016-10-18 19:15:51",
milestone: {
id: 1,
name: "test1",
description: null,
number: 1,
created_at: "-0001-11-30 00:00:00",
updated_at: "-0001-11-30 00:00:00"
}
},
.........
모든 아이디어를이 쿼리 (샘플)에 대한 JSON 응답의 샘플입니다? 전체 관계가 Milestone.number
으로 정렬되고 싶지 않으며 purchasingFactoryDates
만 정렬하면 안됩니다.
$orderLines = PurchasingOrderLine::where('season_id', '=', $seasonRecID)
->select('purchasing_order_lines.*')
->join('purchasing_factory_dates', 'purchasing_factory_dates.purchasing_order_line_id', '=', 'purchasing_order_lines.id')
->join('milestone', 'purchasing_factory_dates.milestone_id', '=', 'milestone.id')
->with('factory')
->with('purchasingFactoryDates.milestone')
->with('divergedColors.purchasingColorDates.milestone')
->groupBy('purchasing_order_lines.id')
->orderBy('milestone.number')
->get();
나는 당신이 그것을 위해 가입을 사용할 수 있다고 생각 : http://stackoverflow.com/questions/18861186/eloquent-eager-load-order-by – Sefran2