【发布时间】:2014-06-09 23:52:29
【问题描述】:
我有一个下拉列表。在下拉列表中,我使用 listdata 从另一个表中检索数据。但奇怪的是,它只获取表格中的最后一项。
$form->dropDownList($model,'status_id',CHtml::listData(OrderStatus::model()->findAll(),'status_id', 'status'))
chtml::listdata 奇怪地只显示这个array(1) { [""]=> string(9) "Delivered" } 而在表中有 7 行/id,其中交付是最后一个条目。其他人怎么了?
另一个奇怪的事情是$model->status_id 实际上是 id 1,所以它不应该显示“已交付”,而应该显示“新”。
【问题讨论】:
-
OrderStatus的表中的字段名称是什么?你也有defaultScope()吗? -
在状态栏中我有新的、处理中的、已发货的、退货请求、已取消、退款、已交付。是的,我有
defaultscope(),但即使我删除它,也会出现同样的问题。 -
我的意思是列名是什么?你的主键列是
status_id吗? -
是的,就是PK。它会转到正确的列,否则不会出现“deelievered”。这很奇怪。我唯一能做的就是现在手动在数组中输入它(我知道,很糟糕)。
标签: yii