选择具有条件的特定列值

时间:2016-05-20 03:40:41

标签: yii2

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

$model = User::findOne(['id' => 1]);

这将返回表中用户ID等于1的所有列,但是假设我只想从此列中获取用户名和电子邮件如何使用活动记录编写查询,我尝试了下面的代码,但它不会work..`

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

4 个答案:

答案 0 :(得分:15)

试试这个:

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

echo $model->column1;

答案 1 :(得分:2)

只需尝试:

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

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

第二种方式更可取。

答案 2 :(得分:0)

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

答案 3 :(得分:0)

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

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

最好的方法是对查询使用cdbcriteria。