Yii2 Order by RAND sql query
خیلی مواقع در نمایش اطلاعات شما نیاز دارید که تمامی آن ها توسط بازدید کننده دیده بشوند .
به همین دلیل نیاز دارید که داده ها به صورت تصادفی random به کاربر نمایش داده شود .
برای استفاده از نمایش اطلاعات به صورت تصادفی در مدل به دو روش عمل می کنیم:
Yii2 Order by RAND sql query
۱٫ ساده ترین و سریعترین راه :
$item = YourModel::find()->orderBy('rand()')->All();
۲٫ راه حرفه ای تر استفاده از Expression می باشد :
use yii\db\Expression; $item = YourModel::find()->orderBy(new Expression('rand()'));
Yii2 Order by RAND sql query
مثال با استفاده از DataProvider
$searchModel = new ProductSearch(['is_deleted' => 0]); $dataProvider = $searchModel->search(Yii::$app->request->queryParams); $dataProvider->query->orderBy(new Expression('rand()'));
Yii2 Order by RAND sql query