例如在form里的这段:
<?php echo $target['parent']===null?'无':CHtml::label($target['parent']['name'],'parent_id'); ?>
原来可以执行的,现在报,说没有parent属性。
在action中我会判断是否有parent,如果有的话就赋值给parent,没有就设置成null。
例如在form里的这段:
<?php echo $target['parent']===null?'无':CHtml::label($target['parent']['name'],'parent_id'); ?>
原来可以执行的,现在报,说没有parent属性。
在action中我会判断是否有parent,如果有的话就赋值给parent,没有就设置成null。
$target是什么?
$target是一个model。有字段parent_id.我在relations里面通过parent_id字段把parent引入。表示$target的父节点。
你为什么不用$target->parent和$target->parent->name呢?
我现在还搞不清php的语法,哪个能用用哪个的。感觉在yii里面都一样。
大概是['']是数组,->是对象用。
我把全部改成了-> 还是报 属性 “Target.parent” 未被定义.
action里面的代码如下:
if(isset($_GET[‘targetParentId’])){$target->parent=Target::model()->findByPk($_GET['targetParentId']); $target->parent_id=$_GET['targetParentId']; }else{ $target->parent=null; }</pre>
我琢磨了一下,我取的这个标题,有点混乱,应该是数据表才有字段,对象应该叫做属性。修改了一下
更新到了1.05后,model不支持relations里面的name作为属性?
你不该对关联对象做赋值。关联对象是从数据库提取出来的。1.0.5之前没有做这个检查,所以你旧的代码可以工作。
如果你设置了$target->parent_id,那么访问$target->parent自然就得到关联对象了,你不用显示去查询和赋值。
我给parent_id赋值了。但不会关联parent出来。估计是我的$target=new Target; 这样操作是处理这种需求。当做Create操作的时候,把父节点的信息也带到create 的view界面上,但我又不想在做一个变量来存放它,所以就想到用关联对象来存放了。现在怎么办?
$target->addRelatedRecord('parent',$parent);