亲爱的同事们! 我有疑问:
$sql = "SELECT node.name,node.node_id,node.lft,(COUNT(prnt.name) - 1) AS depth
FROM nested_category AS node,
nested_category AS prnt
WHERE node.lft BETWEEN prnt.lft AND prnt.rgt
GROUP BY node.name
ORDER BY node.lft";
$item = NodeMenu::findBySql($sql)->all();
我可以像这样显示node.name:
foreach($item as $it =>$i)
{
echo $i->name;
}
问题是如何显示深度? 当我尝试对 node.name 执行相同操作时:
foreach($item as $it =>$i)
{
echo $i->depth;
}
我收到错误异常:数组到字符串的转换。 print_r($item);不包含深度。 请帮助我,我找不到解决方案)
最佳答案
模型中没有变量或魔法属性深度
。添加一个,当从查询结果填充模型时,它将被设置。
class NodeMenu extends ... {
public $depth;
关于php - Yii2在sql查询中使用 "AS variable"并将其显示在 View 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31079465/