как отобразить время из таблицы БД в выпадающий список yii2? - PullRequest
0 голосов
/ 19 ноября 2018

это мое поле формы для выпадающего списка Time

<?= $form->field($model, 'Time')->widget(Select2::classname(), [
            'data' => ArrayHelper::map(Schedule::find()->where(['username' => 'cust_id', 'day'=>'Day_cust','availability'=>'available'])->all(),'time','time'),
            'language' => 'en',
            'options' => ['placeholder' => 'Select available time ...'],
            'pluginOptions' => [
            'allowClear' => true
            ],
        ]);
        ?> 

Day_cust и cust_id взяты из предыдущего ввода текста в той же форме, которая является полем пользователя.

Я попробовал вышеуказанный код, но он не смог отобразить доступное время.

это моя модель по расписанию

public function attributeLabels()
{
    return [
        'schedule_id' => 'Schedule ID',
        'username' => 'Username',
        'day' => 'Day',
        'time' => 'Time',
        'availability' => 'Availability',
    ];
}

Я хочу, чтобы в раскрывающемся списке я хотел отобразить time время, введенное в базу данных при наличии available на основе cust_id и day, вставленных пользователем в поле.

как мне это сделать?

если кто-то задается вопросом, почему я не использую зависимый выпадающий список, потому что cust_id использует ввод текста, то же самое происходит со днем. я не использовал ddl для них обоих.

1 Ответ

0 голосов
/ 19 ноября 2018

В вашем ArrayHelper::map() убедитесь, что вы использовали правильные значения полей базы данных.

Поле вашей базы данных содержит time, а не Time, поэтому ArrayHelper должно быть похоже,

ArrayHelper::map(Schedule::find()->where(['username' => 'cust_id', 'day'=>'Day_cust','availability'=>'available'])->all(),'time','time')
...