2017-05-29 152 views
0

有三種型號:雄辯分組的關係

品牌(ID,姓名)

例子可以

1Mc Donald's

2Help Desk

商場(ID,姓名)

實施例:

1Central Mall

插座(ID,姓名,brand_id,mall_id)

實施例可能是

1Mc Donald's Ground Floor11

2Mc Donald's Food Court11

3Help Desk Ground Floor21

4Help Desk First Floor21

5Help Desk Second Floor21

在模型中已經定義的有關係,我希望得到的結果爲商城如:

App\Mall::with('outlets.brand')->where('id',1)->get(); 

給我一個結果,如:

App\Mall { 
id: 1, 
name: "Central Mall", 
outlets:{ 
'1' => { 
    name:"Mc Donald's", 
    outlets: { 
      1 => { 
        'id' => 1, 
        'name'=> "Mc Donald's Ground Floor", 
       } , 
      2 => { 
        'id' => 2, 
        'name'=> "Mc Donald's Food Court", 
       } , 
      .... 
      } 
     } 
    } 
} 

回答

0

這是未經測試,但使用[Collection::groupBy](https://laravel.com/docs/5.4/collections#method-groupby)功能,您應該可以將插座分組。

$mall = App\Mall::with('outlets.brand')->find(1); 
$outlets = $mall->outlets->groupBy('brand.name');