0
検索クエリの実行中に、この "firstname lastname"のような "firstname"と "lastname"を連結しようとしています。 ここCONCAT_WSがselectステートメントで機能していません
は私のコードです:
$query = Contact::find()
->select([
"CONCAT_WS(' ', firstname, lastname) AS name"
])
->where('(firstname like :fname) OR (lastname like :lname) OR (email = :email)', [
':fname' => $searchkey,
':lname' => $searchkey,
':email' => $searchkey,
])->all();
が、結果はこのような空である:
Array
(
[0] => common\models\contact\Contact Object
(
[_attributes:yii\db\BaseActiveRecord:private] => Array
(
)
[_oldAttributes:yii\db\BaseActiveRecord:private] => Array
(
)
[_related:yii\db\BaseActiveRecord:private] => Array
(
)
[_errors:yii\base\Model:private] =>
[_validators:yii\base\Model:private] =>
[_scenario:yii\base\Model:private] => default
[_events:yii\base\Component:private] => Array
(
)
[_behaviors:yii\base\Component:private] => Array
(
)
)
)
私は私がこの
[name] => "firstname lastname"
出力のようなものを持っているだろうことを期待してい運がない。助けが必要です。
私はあなたが言ったが、まだ何試してみました運がない。私は実際に 'Contact'と' ContactQuery'という2つのモデルを持っています。 'ContactQuery'は私の提案したコードを置いた場所です。なぜなら、私の検索機能がそこにあるからです。 – david
実際には '[name] => testfirstname lastname'という文字列が出力されています。[_attributes:yii \ db \ BaseActiveRecord:private] => Array()' _attribributes内にどのように置くことができますか?不可能? – david
あなたの最後のコメントを理解できません。あなたの必要性をよりよく説明してください。 – scaisEdge