请教 with select 的一个问题

$criteria = new CDbCriteria(array(

                'condition' => 't.has_attachment = ' . Option::YES,


                'select' => 't.id, content_index.title, t.attachment_saved_path, content_index.summary',


                'limit' => 3,


            ));

$criteria = new CDbCriteria(array(

                'condition' => 't.has_attachment = ' . Option::YES,


                'select' => 't.attachment_saved_path',


                'with' => array('content_index' => array('select ' => 'id, title, summary')),


                'limit' => 3,


            ));

为什么第一个条件会报错,找不多 title 字段呢?关联是正确的,字段也是在数据库存在的

log trace 看一下执行的SQL语句是什么,我怀疑SQL语句中实际的表别名是t1,t2啥的

不是,别名还是 content_index,但是,你比如如下的语句,又是可以的。

$criteria = new CDbCriteria(array(

                'condition' => 't.has_attachment = ' . Option::YES,


                'select' => 't.attachment_saved_path, content_index.*',


                'with' => array('content_index'),

// ‘with’ => array(‘content_index’ => array('select ’ => ‘id, title, summary’)),

                'limit' => 3,


            ));

应该是第一个条件没有加with的缘故吧!