کار با select Query در Yii2

استفاده از کوئری select با استفاده از createCommand
برای این کار ابتدا باید به دیتابیس متصل شویم

use yii\db\Query;
$connection = \Yii::$app->db;
      queryAll
    $model = $connection->createCommand('SELECT * FROM tbl_user');
    $users = $model->queryAll();
    

    به این صورت که آرایه ای تو در تو از دیتا های موجود را بر می گرداند.

    Array
    (
        [۰] => Array
            (
                [id] => 1
                [value] => 89.3
                [publish_date] => 2015-08-17 00:00:00
                [picture] => default.jpg
                [user_id] => 1
            )
        [۱] => Array
            (
                [id] => 2
                [value] => 88.4
                [publish_date] => 2015-09-03 00:00:00
                [picture] => default.jpg
                [user_id] => 1
            )
        [۲] => Array
            (
                [id] => 3
                [value] => 87.7
                [publish_date] => 2015-09-11 00:00:00
                [picture] => default.jpg
                [user_id] => 1
            )
        [۳] => Array
            (
                [id] => 4
                [value] => 88.4
                [publish_date] => 2015-09-20 00:00:00
                [picture] => default.jpg
                [user_id] => 1
            )
        [۴] => Array
            (
                [id] => 5
                [value] => 87.3
                [publish_date] => 2015-09-25 00:00:00
                [picture] => default.jpg
                [user_id] => 1
            )
        [۵] => Array
            (
                [id] => 6
                [value] => 87.9
                [publish_date] => 2015-10-01 00:00:00
                [picture] => default.jpg
                [user_id] => 1
            )
        [۶] => Array
            (
                [id] => 7
                [value] => 87.5
                [publish_date] => 2015-10-08 00:00:00
                [picture] => default.jpg
                [user_id] => 1
          )  
        [۷] => Array
            (
                [id] => 8
                [value] => 89.300
                [publish_date] => 2015-10-15 00:00:00
                [picture] => default.jpg
                [user_id] => 1
            )
        [۸] => Array
            (
                [id] => 9
                [value] => 86
                [publish_date] => 2015-10-24 00:00:00
                [picture] => default.jpg
                [user_id] => 1
            )
        [۹] => Array
            (
                [id] => 10
                [value] => 86.900
                [publish_date] => 2015-10-30 00:00:00
                [picture] => default.jpg
                [user_id] => 1
            )
    )
    

      queryOne

    $model = $connection->createCommand("SELECT * FROM tbl_user where userid=$id");
    $users = $model->queryOne();
    

    فقط یک رکورد بر می گرداند البته به صورت آرایه

    Array
    (
        [id] => 1
        [value] => 89.3
        [publish_date] => 2015-08-17 00:00:00
        [picture] => default.jpg
        [user_id] => 1
    )
    
      queryColumn
    $model = $connection->createCommand('SELECT value FROM weight');
    $users = $model->queryColumn();
    

    فقط ستون صدا زده شده را در آرایه نمایش می دهد

    Array
    (
        [۰] => ۸۹٫۳
        [۱] => ۸۸٫۴
        [۲] => ۸۷٫۷
        [۳] => ۸۸٫۴
        [۴] => ۸۷٫۳
        [۵] => ۸۷٫۹
        [۶] => ۸۷٫۵
        [۷] => ۸۹٫۳۰۰
        [۸] => ۸۶
        [۹] => ۸۶٫۹۰۰
    )
    

      queryScalar

    $model = $connection->createCommand('SELECT COUNT(*) FROM weight');
                    $weight = $model->queryScalar();
    

    فقط عدد بر می گرداند .
    برای sum , max نیز استفاده می شود

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *