有人可以告诉我,我有几个型号: 一个项有多个→属性,On Property有很多→特征 我可以这样做:
return Item::find()->where(['code' => $code])->with('properties')->asArray()->one();
结果:
{
title: "Ванна чугунная Ностальжи 150 с ножками",
new: "0",
hit: "0",
recommend: "0",
properties: [
{
//lallala
},
{
//lallala
},
]
}
但是我希望每个属性中的嵌套行(特征) 我该怎样做这么优雅的方式?
答案 0 :(得分:6)
来自Yii guide on working with databases:
您可以急切地加载深层嵌套关系,例如
a.b.c.d
。所有的父母关系都会被急切地加载。也就是说,当您使用with()
致电a.b.c.d
时,您会急切地加载a
,a.b
,a.b.c
和a.b.c.d
。
所以请使用properties.characteristics
:
return Item::find()->where(['code' => $code])->with('properties.characteristics')->asArray()->one()