Выберите не работает в Yii CDbCriteria - PullRequest
0 голосов
/ 02 июня 2018

У меня есть две связанные таблицы, и мне нужно отображать данные из обоих через запрос соединения.У меня есть GridView, который «работает», когда мне нужно выполнить поиск, так что это значит, что если мне нужно искать в поле из объединенной таблицы, это работает и показывает правильный результат, но я не могу показатьвсе столбцы из обеих таблиц.

Вот ошибка:

CDbCommand не удалось выполнить инструкцию SQL: SQLSTATE [42S02]: Базовая таблица или представление не найдено: 1051 Неизвестная таблица'pratiche.Выполнено SQL-выражение: SELECT pratiche. * FROM pratiche t ВЛЕВО ПРИСОЕДИНЯЙТЕСЬ к clienti ON id_cliente = clienti.id LIMIT 10

Как вы можете видеть, t после pratiche, поэтому он не сможет выполнить запрос.В чем проблема?

public function search()
{
    // @todo Please modify the following code to remove attributes that should not be searched.

    $criteria=new CDbCriteria;

    $criteria->select = "pratiche.*,clienti.*";

    $criteria->join='LEFT JOIN clienti ON id_cliente = clienti.id';

    $criteria->compare('id_pratiche',$this->id_pratiche,true);
    //this is the fild that should be shown(from the joined table)
    $criteria->compare('codice_fiscale',$this->codice_fiscale,true);

    $criteria->select = "pratiche.*";
    return new CActiveDataProvider($this, array(
        'criteria'=>$criteria,
    ));
}

1 Ответ

0 голосов
/ 02 июня 2018

РЕШИТЬ!Неправильный способ установить критерии:

$criteria->select=array('id_pratiche','data_creazione','stato_pratica','nome','cognome');
...