关于Yii2中使用CheckboxList说明 [ 2.0 版本 ]
最近在做外卖系统,其中在查询订单配送状态时用到了CheckboxList,就是查询多个状态的订单列表,
订单模型Order中定义了: * @property integer $delivery_status
规则里也是定义的integer,
public function rules()
{
return [
............//其他规则
[['delivery_status'], 'integer'],
];
}
在订单的创建、修改等等中没有问题,
但是当使用
<?=Html::activeCheckboxList($model,'delivery_status',[0=>'待发布',1=>'待接单',2=>'待取货',3=>'执行中',4=>'已完成',5=>'已取消'],
时,OrderSearch模型是无法通过验证的,
$this->load($params);
if (!$this->validate()) {
//验证会不通过
}
解决办法:
在OrderSearch中重新定义delivery_status规则:
public function rules()
{
return [
............//其他规则
[['delivery_status'], 'safe'],
];
}
这样,在OrderSearch中做条件筛选时就不会有问题了:
$query->andFilterWhere([
.................. //其他条件
'delivery_status' => $this->delivery_status,
]);
以上仅是个人理解,希望对大家能有帮助~
花椒 山东
注册时间:2015-07-10
最后登录:31分钟前
在线时长:4891小时9分
最后登录:31分钟前
在线时长:4891小时9分
- 粉丝16
- 金钱55048
- 威望630
- 积分110258
共 1 条评论
默认选中第一个呢