从Yii2中的视图调用模型方法

时间:2015-05-08 14:28:09

标签: view model yii2

我想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

没有得到什么实际问题。

任何人都有一个想法。

1 个答案:

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