我正在尝试在Yii 1.1上创建一个类别树。
我写了这段代码:
$tree=array();
$results=Category::model()->findAll();
foreach ($results as &$result)
{
if(empty($result->parent_id))
{
$tree[$result->parent_id]=&$result->name;
}
else
{
$results[$result->parent_id]['childs'][$result->id]=&$result->name;
}
}
return $tree;
我收到此错误
Indirect modification of overloaded property Category::$name has no effect
为什么呢?我怎么能解决它?
谢谢!
答案 0 :(得分:0)
为了给出答案为什么会发生这种情况(并且它不是特定的Yii问题,而是一般的PHP):
$result->name
不是实际变量,而是函数调用的结果。在内部calls $result->__get('name')
PHP只是试图警告你,它认为你做了一些奇怪的事情。 解决方案是将结果分配给变量并使用它。 我知道,很烦人。
话虽如此:你为什么要尝试使用参考文献呢?