Как установить компонент от Krajee : Multi Column Group в yii2 на примере модели из SQL файла CREATE TABLE `inspections` ( `id` INT(11) NOT NULL AUTO_INCREMENT, `car_model` VARCHAR(20) NOT NULL COLLATE ‘utf8_general_ci’, `car_nomer` VARCHAR(20) NOT NULL COLLATE ‘utf8_general_ci’, `car_vin` VARCHAR(20) NOT NULL COLLATE ‘utf8_general_ci’, `inspection_date` DATE NOT NULL, `inspection_time` TIME NOT NULL, `created_at` TIMESTAMP NOT NULL DEFAULT current_timestamp(), `email` VARCHAR(50) NOT NULL COLLATE ‘utf8_general_ci’, `phone` VARCHAR(50) NOT NULL COLLATE ‘utf8_general_ci’, PRIMARY KEY (`id`) USING BTREE ) COLLATE=’latin1_swedish_ci’ ENGINE=InnoDB AUTO_INCREMENT=20 ; Группировка по дате inspection_date и по времение inspection_time

Установка компонента Krajee Multi Column Group в Yii2

Чтобы установить и использовать компонент Multi Column Group от Krajee в Yii2 для группировки записей по дате inspection_date и времени inspection_time, выполните следующие шаги:

1. Установка расширения

Сначала вам нужно установить расширение Krajee. Вы можете сделать это с помощью Composer. Выполните следующую команду в терминале:

bash

composer require kartik-v/yii2-grid

2. Настройка модели

Убедитесь, что у вас есть модель для таблицы inspections. Например, модель может выглядеть так:

php

namespace app\models;

use Yii;
use yii\db\ActiveRecord;

class Inspection extends ActiveRecord
{
    public static function tableName()
    {
        return 'inspections';
    }

    // Другие методы и правила валидации...
}

3. Получение данных в контроллере

В контроллере получите данные из таблицы inspections и передайте их во view:

php

namespace app\controllers;

use Yii;
use app\models\Inspection;
use yii\web\Controller;
use yii\data\ActiveDataProvider;

class InspectionController extends Controller
{
    public function actionIndex()
    {
        $dataProvider = new ActiveDataProvider([
            'query' => Inspection::find()->orderBy(['inspection_date' => SORT_ASC, 'inspection_time' => SORT_ASC]),
        ]);

        return $this->render('index', [
            'dataProvider' => $dataProvider,
        ]);
    }
}

4. Использование GridView с группировкой

Теперь в вашем представлении (например, views/inspection/index.php) используйте GridView от Krajee для отображения данных с группировкой:

php

use kartik\grid\GridView;
use yii\helpers\Html;

echo GridView::widget([
    'dataProvider' => $dataProvider,
    'columns' => [
        [
            'attribute' => 'inspection_date',
            'header' => 'Дата инспекции',
            'format' => ['date', 'php:Y-m-d'],
            'group' => true, // Группировка по дате
        ],
        [
            'attribute' => 'inspection_time',
            'header' => 'Время инспекции',
            'format' => 'time',
            'group' => true, // Группировка по времени
        ],
        'car_model',
        'car_nomer',
        'car_vin',
        'email',
        'phone',
    ],
]);

5. Настройка группировки

Если вы хотите настроить группировку более детально, вы можете использовать дополнительные параметры в GridView. Например, вы можете настроить заголовки групп и их стили.

Заключение

Теперь у вас есть компонент Krajee Multi Column Group, который позволяет группировать записи по дате и времени в Yii2. Вы можете настраивать отображение и стили в зависимости от ваших требований.