Yii2 Order by RAND sql query

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

Leave a Reply

Your email address will not be published. Required fields are marked *