我正在从数据库中获取大量订单记录,并且我想添加另一个字段,即相关表(客户)中的列,以获取记录。
但是这个字段不会被直接获取,因为它不是 Orders 模型的一部分。
所以我在模型中添加了一个属性来保存这个额外的属性,我的选择是这样的:
$criteria = new CDbCriteria();
$criteria->join = 'INNER JOIN customers c ON t.idCustomer = c.idCustomer';
$criteria->select = 't.* , c.CustomerName AS CustomerName'; // CustomerName is the added attribute
$data = Orders::model()->findAll($criteria);
var_dump($data); // in here CustomerName is fetched,
$data = CJSON::encode($data); // but not here, its not even part of encoded string!
我需要立即对其进行编码,并且我不想将 afterFind() 放入我的模型中(尽管我认为它不会被编码),
有没有我不明白的部分?我怎样才能做到这一点?