我应该如何在yii2中处理错误数组到字符串的转换?

时间:2018-11-25 09:13:21

标签: php phpmyadmin yii2 yii2-advanced-app

当我尝试设置复选框列表按钮时,我不断收到错误消息“数组到字符串的转换”。

这是我的复选框代码

$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',
    ];
}
}

有人可以告诉我我做错了什么吗?

error trace 1 error trace 2 error trace 3 error trace 4 error trace 5

1 个答案:

答案 0 :(得分:0)

根据yii2 guide,复选框列表允许多项选择,因此对应的提交值是数组。

您的代码可与textInput一起使用,因为它的结果不是数组。

您可以使用implode()之类的php数组函数将值转换为字符串。