使用选择yii2中的查询位置

cms*_*cms 7 gridview yii2


它没有返回标题.那么我可以在查询中更改什么?

$query = (new Query())->select('title')->from('topics')->where(['id' => [1, 2, 3]]);
return $query->title;
Run Code Online (Sandbox Code Playgroud)

Kun*_*the 9

您的查询形成如下 -

SELECT title FROM topics WHERE id IN (1,2,3);
Run Code Online (Sandbox Code Playgroud)

所以你将获得数组数组.您还需要执行查询.

试试 -

$query = (new \yii\db\Query())->select(['title'])->from('topics')->where(['id' => [1, 2, 3]]);
$command = $query->createCommand();
$data = $command->queryAll();
$titles = '';
foreach($data as $row) {
    $titles .= $row['title'] . ', ';
}
return rtrim($titles, ', ');
Run Code Online (Sandbox Code Playgroud)

您将获得title每个记录,逗号分隔.