在yii2中使用`with`的嵌套关系

时间:2016-10-28 12:05:11

标签: php yii2

有人可以告诉我,我有几个型号: 一个有多个→属性,On Property有很多→特征 我可以这样做:

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

结果:

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

但是我希望每个属性中的嵌套行(特征) 我该怎样做这么优雅的方式?

1 个答案:

答案 0 :(得分:6)

来自Yii guide on working with databases

  

您可以急切地加载深层嵌套关系,例如a.b.c.d。所有的父母关系都会被急切地加载。也就是说,当您使用with()致电a.b.c.d时,您会急切地加载aa.ba.b.ca.b.c.d

所以请使用properties.characteristics

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