Как мне справиться с ошибкой массива в строку преобразования в yii2? - PullRequest
0 голосов
/ 25 ноября 2018

я получаю сообщение об ошибке «Преобразование массива в строку», когда пытаюсь сделать кнопку списка своих флажков.

это мой код для флажка

$list = [0 => '8:00-9:00', 1 => '9:00-10:00', 2 => '10:00-11:00', 3 => '11:00-12:00', 4 => '12:00-13:00', 5 => '13:00-14:00', 6 => '14:00-15:00', 7 => '15:00-16:00', 8 => '16:00-17:00', 9 => '17:00-18:00'];

для этого поля

<?= $form->field($model, 'available')->checkboxlist($list);?> 

Я не знаю, откуда возникла ошибка и что делать

Это код моей модели

<?php

 namespace frontend\models;

 use Yii;

 /**
 * This is the model class for table "timetable".
 *
 * @property int $id
 * @property string $username
 * @property string $day
 * @property string $available
 * @property string $notAvailable
 */
class Timetable extends \yii\db\ActiveRecord
{
/**
 * @inheritdoc
 */
public static function tableName()
{
    return 'timetable';
}

/**
 * @inheritdoc
 */
public function rules()
{
    return [
        [['username', 'day', 'available', 'notAvailable'], 'required'],
        [['available', 'notAvailable'], 'safe'],
        [['username', 'day'], 'string', 'max' => 10],
    ];
}

/**
 * @inheritdoc
 */
public function attributeLabels()
{
    return [
        'id' => 'ID',
        'username' => 'Username',
        'day' => 'Day',
        'available' => 'Available',
        'notAvailable' => 'Not Available',
    ];
}
}

Может кто-нибудь сказать мне, какую часть я делаю неправильно?

трассировка ошибок 1 трассировка ошибок 2 трассировка ошибок 3 трассировка ошибок 4 трассировка ошибок 5

1 Ответ

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

Согласно руководству yii2 , список флажков допускает множественный выбор, поэтому соответствующее переданное значение является массивом.

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

Вы можете использовать функции массива php, такие как implode(), чтобы преобразовать значения в строку.

...