web-dev-qa-db-fra.com

Sélection d'une valeur de colonne spécifique avec condition

Je veux obtenir une colonne spécifique de la table User dans yii2 en utilisant l'enregistrement actif ci-dessous est mon code

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

cela retournera toute la colonne de la table avec l'identifiant utilisateur égal à 1, mais supposons que je veux juste obtenir uniquement le nom d'utilisateur et l'email de cette colonne. `

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

Essaye ça:

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

echo $model->column1;
14
Muhammad Shahzad

Essayez simplement:

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

OU

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

La deuxième façon est plus préférable.

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

En bas la voie est correcte. mais les autres valeurs archivées retournent comme NULL.

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

Le meilleur moyen consiste à utiliser les critères de cdb pour la requête.

0
gayan_ms