更新到了1.05后,model不支持with object作为字段?

例如在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-&gt;parent=Target::model()-&gt;findByPk($_GET&#91;&#039;targetParentId&#039;&#93;);


		$target-&gt;parent_id=$_GET&#91;&#039;targetParentId&#039;&#93;;


	}else{


		$target-&gt;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);