In meiner yii2 Anwendung brauche ich so etwas wie diese:yii2. Abfrage mit ähnlichem Zustand
SELECT * FROM customers WHERE first_name||' '||last_name ILIKE '%Nick%' ORDER BY "id";
Diese Abfrage wird Kunden mit verkettet first_name und last_name wie ‚Nick‘.
In meiner yii1 Anwendung kann ich CDBCriteria nächste Art und Weise verwenden:
$criteria = new CDbCriteria;
$criteria->addSearchCondition(
"first_name||' '||last_name",
'Nick',
true,
'and',
'ILIKE'
);
$criteria->order = 't.id asc';
Und das funktioniert gut.
In yii2 Ich habe versucht:
$a = \common\models\Customer::find()
->filterWhere(['ILIKE', "first_name||' '||last_name", 'Nick'])
->orderBy(['id' => SORT_ASC])
->all();
Und bekam Spalte Ausnahme nicht vorhanden ist, und SQL war:
SELECT * FROM "customers" WHERE "first_name||' '||last_name" ILIKE '%Nick%' ORDER BY "id"
\ yii \ db \ Expression Mit tut Situation ändern.
, welche Datenbank die Sie verwenden? – scaisEdge
ist es PostgreSQL – Nickolay