我想call model method
view
并将其列在下拉列表中。
我有Orders模型及其代码方法如下:
public function OrderStatus(){
return [
['order_placed', 'Order Placed'],
['order_confirm', 'Order Confirm'],
['ready_for_delievery', 'Ready For Delivery'],
['out_of_delievery', 'Out Of Delivery'],
['completed', 'Completed'],
];
}
现在我想从订单视图中使用方法获取上面的数组,并在droddown中显示列表。
订单>> _form查看代码:
<?=
$order_status = Orders::OrderStatus();
?>
<?= $form->field($model, 'order_status')->dropDownList($order_status); ?>
但我收到错误
PHP Notice – yii\base\ErrorException
Array to string conversion
没有得到什么实际问题。
任何人都有一个想法。
答案 0 :(得分:1)
错误不在于您的模型,而在于您的$order_status
数组。来自ActiveField::dropDownList()的API页面:
数组键是选项值,数组值是相应的选项标签。
因此你的数组应该是:
public static function OrderStatus(){
return [
'order_placed' => 'Order Placed',
'order_confirm' => 'Order Confirm',
'ready_for_delievery' => 'Ready For Delivery',
'out_of_delievery' => 'Out Of Delivery',
'completed' => 'Completed',
];
}