Yii2 使用条件选择特定列值

Yii2 使用条件选择特定列值,yii2,Yii2,我想使用下面的活动记录从yii2中的用户表中获取一个特定列,这是我的代码 $model = User::findOne(['id' => 1]); 这将返回表中用户id为1的所有列,但假设我只想从该列中获取用户名和电子邮件,如何使用active record编写查询,我尝试了以下代码,但它不起作用` $model = User::find('username','email')->where('id'=1) 只需尝试: $model = User::find()->sele

我想使用下面的活动记录从yii2中的用户表中获取一个特定列,这是我的代码

$model = User::findOne(['id' => 1]);
这将返回表中用户id为1的所有列,但假设我只想从该列中获取用户名和电子邮件,如何使用active record编写查询,我尝试了以下代码,但它不起作用`

$model = User::find('username','email')->where('id'=1)
只需尝试:

$model = User::find()->select(['username','email'])->where('id=1')->One();

$model = User::find()->select(['username','email'])->where('id=:id', [ ':id' => 1 ])->One();
第二种方法更可取。

试试这个:

$model = User::find()
           ->select('column1, column2')
           ->where(['id' => $id])
           ->one();

echo $model->column1;

下面的方法是正确的。但其他字段值返回为NULL

$model = User::find()->select(['username','email'])->where('id=1')->One();
最好的方法是使用cdbcriteria进行查询

$model = User::find()->select(['username','email'])->where('id=1')->One();