Я хочу использовать Mysql Concat Function
в like expression
.
Я хочу объединить firstname
и lastname
как fullname
и получить согласованные результаты согласно fullname
.
Я пробовал это в YII1. Ниже мой код:Yii1: Как использовать функцию concat в mysq как запрос
$criteria = new CDbCriteria();
$criteria->select = "*";
$criteria->select = 'CONCAT(firstname , "" , lastname) AS fullname';
$criteria->addCondition('fullname LIKE :match');
$criteria->params = array(':match' => $query);
$models = User::model()->findAll($criteria);
Ниже сформированное сообщение об ошибке:
CDbCommand failed to execute the SQL statement: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'fullname' in 'where clause'
(Error 500)
CDbCommand::fetchColumn() failed: SQLSTATE[42S22]: Column not found: 1054
Unknown column 'fullname' in 'where clause'. The SQL statement executed
was: SELECT COUNT(*) FROM `members` `t` WHERE fullname LIKE :match.
Заранее спасибо
Я не эксперт int Yii, но вам нужно добавить 'CONCAT (firstname," ", lastname)' в самом условии, так как псевдоним не может использоваться там где. –
$ criteria = новый CDbCriteria(); $ criteria-> select = '*'; $ criteria-> addCondition ('CONCAT (имя, фамилия) AS fullname LIKE: match'); но проблема остается такой же. – FahadAkram
no '$ criteria-> addCondition ('CONCAT (firstname," ", lastname) LIKE: match');' –