在 Yii2 中从视图中调用模型方法
Posted
技术标签:
【中文标题】在 Yii2 中从视图中调用模型方法【英文标题】:Call model method from view in Yii2 【发布时间】:2015-05-08 14:28:09 【问题描述】:我想从view
到call model method
并将其列在下拉列表中。
我有 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'],
];
现在我想使用订单视图中的方法获取上述数组并在下拉列表中显示列表。
订单>> _form 查看代码:
<?=
$order_status = Orders::OrderStatus();
?>
<?= $form->field($model, 'order_status')->dropDownList($order_status); ?>
但我在下面出现错误
php Notice – yii\base\ErrorException
Array to string conversion
什么实际问题没有得到。
任何人都有一个想法。
【问题讨论】:
【参考方案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',
];
【讨论】:
感谢回复,但还是同样的错误。我调用模型方法的方法对吗?订单::OrderStatus(); 函数是静态的。以上是关于在 Yii2 中从视图中调用模型方法的主要内容,如果未能解决你的问题,请参考以下文章