yii 为什么使用 CDbCriteria类,$criteria->join为什么查出来的数据还是一个表里面的?

WBOY
Freigeben: 2016-06-06 20:26:21
Original
1253 Leute haben es durchsucht

这个是我在model文件里面写的一个方法。我想将一张表(t) 和 另一张表 c 做外连接(left join)。

<code>    public function pagination($limit, $condition, $order){
        $criteria = new CDbCriteria();
        $criteria->alias = 't';
        $criteria->order = $order;
        $criteria->select = 't.id, c.value';
        $criteria->addCondition($condition);
        $criteria->join = 'left join lp_site_conf as c on t.type=c.id';
        $result['listInfo'] = YiiData($this->findAll($criteria));
        $result['pageCount'] = $pages->getPageCount();
    }</code>
Nach dem Login kopieren
Nach dem Login kopieren

但是 现在查出来的数据是这样的

<code>array(10) {
  [0] => array(9) {
    ["id"] => string(2) "10"
    ["name"] => NULL
    ["type"] => NULL
    ["createuid"] => NULL
    ["createtime"] => NULL
    ["modifytime"] => NULL
    ["description1"] => NULL
    ["description2"] => NULL
    ["status"] => NULL
  }
  [1] => array(9) {
    ["id"] => string(1) "9"
    ["name"] => NULL
    ["type"] => NULL
    ["createuid"] => NULL
    ["createtime"] => NULL
    ["modifytime"] => NULL
    ["description1"] => NULL
    ["description2"] => NULL
    ["status"] => NULL
  }</code>
Nach dem Login kopieren
Nach dem Login kopieren

这些字段都是t表中的,根本没有leftjoin的表的字段,这是什么原因?

回复内容:

这个是我在model文件里面写的一个方法。我想将一张表(t) 和 另一张表 c 做外连接(left join)。

<code>    public function pagination($limit, $condition, $order){
        $criteria = new CDbCriteria();
        $criteria->alias = 't';
        $criteria->order = $order;
        $criteria->select = 't.id, c.value';
        $criteria->addCondition($condition);
        $criteria->join = 'left join lp_site_conf as c on t.type=c.id';
        $result['listInfo'] = YiiData($this->findAll($criteria));
        $result['pageCount'] = $pages->getPageCount();
    }</code>
Nach dem Login kopieren
Nach dem Login kopieren

但是 现在查出来的数据是这样的

<code>array(10) {
  [0] => array(9) {
    ["id"] => string(2) "10"
    ["name"] => NULL
    ["type"] => NULL
    ["createuid"] => NULL
    ["createtime"] => NULL
    ["modifytime"] => NULL
    ["description1"] => NULL
    ["description2"] => NULL
    ["status"] => NULL
  }
  [1] => array(9) {
    ["id"] => string(1) "9"
    ["name"] => NULL
    ["type"] => NULL
    ["createuid"] => NULL
    ["createtime"] => NULL
    ["modifytime"] => NULL
    ["description1"] => NULL
    ["description2"] => NULL
    ["status"] => NULL
  }</code>
Nach dem Login kopieren
Nach dem Login kopieren

这些字段都是t表中的,根本没有leftjoin的表的字段,这是什么原因?

我遇到了和你一样的问题,你是怎么解决的呢?

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage