2016-10-28 119 views
2

誰能告訴我,我有幾個型號: 一個項目有許多→屬性,在酒店有許多→特性 我可以這樣做:嵌套關係在yii2

return Item::find()->where(['code' => $code])->with('properties')->asArray()->one(); 

結果:

{ 
    title: "Ванна чугунная Ностальжи 150 с ножками", 
    new: "0", 
    hit: "0", 
    recommend: "0", 
    properties: [ 
    { 
    //lallala 
    }, 
    { 
    //lallala 
    }, 
    ] 
} 

但我想嵌套行(特性)每個屬性我該怎麼做那麼多優雅的方式?

+0

你能解釋一下嗎? – yafater

回答

6

Yii guide on working with databases

您可以加載熱切深度嵌套關係,如a.b.c.d。所有的父母關係都會急切地加載。也就是說,當你使用a.b.c.dwith(),你會急切地加載aa.ba.b.ca.b.c.d

所以使用properties.characteristics

return Item::find()->where(['code' => $code])->with('properties.characteristics')->asArray()->one() 
+0

非常感謝你......... –