Nested relations using `with` in yii2(在 yii2 中使用 `with` 的嵌套关系)
问题描述
谁能告诉我,我有几个型号:一个Item有很多→属性,On Property有很多→特性我可以这样做:
Can someone tell me, I have several model: One Item has many → Properties, On Property has many → Characteristics I can do like this:
return Item::find()->where(['code' => $code])->with('properties')->asArray()->one();
结果:
{
title: "Ванна чугунная Ностальжи 150 с ножками",
new: "0",
hit: "0",
recommend: "0",
properties: [
{
//lallala
},
{
//lallala
},
]
}
但我想要嵌套行(特征)在每个属性中我怎么能做那么优雅的方式?
But i want nested rows (Characteristics) in every property how can i do that much elegant way?
推荐答案
来自 Yii 使用数据库的指南:
您可以急切地加载深度嵌套的关系,例如 a.b.c.d
.所有父关系都将被急切地加载.也就是说,当你使用 abcd
调用 with()
时,你会急切地加载 a
, ab
, >abc
和 abcd
.
You can eagerly load deeply nested relations, such as
a.b.c.d
. All parent relations will be eagerly loaded. That is, when you callwith()
usinga.b.c.d
, you will eagerly loada
,a.b
,a.b.c
anda.b.c.d
.
所以使用properties.characteristics
:
return Item::find()->where(['code' => $code])->with('properties.characteristics')->asArray()->one()
这篇关于在 yii2 中使用 `with` 的嵌套关系的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:在 yii2 中使用 `with` 的嵌套关系


基础教程推荐
- Web 服务器如何处理请求? 2021-01-01
- 使用 scandir() 在目录中查找文件夹 (PHP) 2022-01-01
- PHPUnit 的 Selenium 2 文档到底在哪里? 2022-01-01
- php中的PDF导出 2022-01-01
- Yii2 - 在运行时设置邮件传输参数 2022-01-01
- php 7.4 在写入变量中的 Twig 问题 2022-01-01
- 如何在数学上评估像“2-1"这样的字符串?产生“1"? 2022-01-01
- php中的foreach复选框POST 2021-01-01
- 主题化 Drupal 7 的 Ubercart “/cart"页 2021-01-01
- 将变量从树枝传递给 js 2022-01-01