谁能告诉我,我有几个模型:One Item有许多→属性, On Property有许多→特征我可以这样做:
return Item::find()->where(['code' => $code])->with('properties')->asArray()->one();
结果:{
title: "Ванна чугунная Ностальжи 150 с ножками",
new: "0",
hit: "0",
recommend: "0",
properties: [
{
//lallala
},
{
//lallala
},
]
}
但我想嵌套行(特征)在每个属性我怎么能做到这么多优雅的方式?
来自数据库使用指南:
你可以急切地加载深度嵌套的关系,比如
a.b.c.d
。所有父关系都将被急切加载。也就是说,当您使用a.b.c.d
调用with()
时,您将急切地加载a
,a.b
,a.b.c
和a.b.c.d
。
所以使用properties.characteristics
:
return Item::find()->where(['code' => $code])->with('properties.characteristics')->asArray()->one()