Je veux obtenir des données de la base de données en utilisant limite 12,20 .
Voici mon code:
$Query = new Query;
$Query->select(['um.id as USERid', 'um.first_name', 'um.last_name', 'um.email', 'COUNT(g.id) as guestCount'])
->from('user_master um')
->join('LEFT JOIN', 'guest g', 'g.user_id = um.id')
->limit(12,20)
->groupBy('um.id')
->orderBy(['um.id' => SORT_DESC]);
$command = $Query->createCommand();
$evevtsUserDetail = $command->queryAll();
Ça ne marche pas. Il me donne tous les rangs. J'ai aussi essayé -> limite ([12,20]) , ne fonctionne pas.
Mais quand j'utilise limit (12) alors j'obtiens 12 lignes.
Je veux obtenir des lignes dans limite 12,20 . Que devrais-je faire pour cela dans mon code?
Essaye ça:
$Query = new Query;
$Query->select(['um.id as USERid', 'um.first_name', 'um.last_name','um.email','COUNT(g.id) as guestCount'])
->from('user_master um')
->join('LEFT JOIN', 'guest g', 'g.user_id = um.id')
->limit(20)
->offset(12)
->groupBy('um.id')
->orderBy(['um.id' => SORT_DESC]);
Offset()
spécifie le point de départ et limit()
spécifie le nombre d'enregistrements. Si vous voulez des enregistrements entre 12
et 20
, utilisez limit(8)
.
Pour plus d'informations:
vous pouvez faire avec Active Record
$model = YourModel::find()->where('user_id = :user_id', [':user_id' => \Yii::$app->user->id])->limit(12,20)->all();
OR
$model = YourModel::find()->where('user_id = :user_id', [':user_id' => \Yii::$app->user->id])->with(['job','job.jobRecipient'])->limit(12)->all();