例如我要多select一些sum/count值出来,这些值当然不在数据库table本身定义的字段内,可以怎么得到这些字段值呢?
$items = XXX::model()->findAll(array(‘with’=>array(‘tableY’=>‘select’=>‘count(*) as yy’)));
foreach($items as $item){
$item->yy?
$item->tableY->yy?
}
或是需要在models定义中定义额外变量?
例如我要多select一些sum/count值出来,这些值当然不在数据库table本身定义的字段内,可以怎么得到这些字段值呢?
$items = XXX::model()->findAll(array(‘with’=>array(‘tableY’=>‘select’=>‘count(*) as yy’)));
foreach($items as $item){
$item->yy?
$item->tableY->yy?
}
或是需要在models定义中定义额外变量?
在model里面定义属性,就可以获取~
你是说public function attributeLabels()函数中定义吗?
这里会不会影响insert的情况?让AR以为有其他字段需要插入数据库?
不是在public function attributeLabels() 是在model里面 不会影响insert的情况
<?php
class Product extends CActiveRecord
{
public $yourExtFieldName; // 在这指定
}
多谢,期待Yii官方出一个CookBook,基础文档不详细,不能解决边角问题,苦恼啊
yii变化(进步的)比较快~看文档是跟不上的
到了1.1版应该稳定多了,之前碰到的升级问题是AR中关系定义时,本表缩写改为了’t’,很多代码都需要改一把…
其实应该有个完整设计,然后保持接口不变,只加功能不要随便改就行了