limit 12,2を使用してdbからデータを取得したい.
ここに私のコードがあります:
$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();
動作していません。それは私にすべての行を与えています。また、-> limit([12,20])を試しましたが、機能していません。
しかし、limit(12)を使用すると、12行が取得されます。
limit 12,2で行を取得したい。このコードでそのために何をする必要がありますか?
これを試して:
_$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()
は開始点を指定し、limit()
はレコード数を指定します。 _12
_と_20
_の間のレコードが必要な場合は、limit(8)
を使用します。
詳細情報:
あなたはアクティブレコードでできます
$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();