我有一个下拉列表,该列表从另一个表获取值。 我的问题是应用程序只写数字,而不是数据库中的值。
<?php
echo Form::widget(
[
'model' => $model,
'form' => $form,
'columns' => 4,
'attributes' => [
'zugehoerigkeit' => [
'type' => Form::INPUT_DROPDOWN_LIST,
'labelOptions' => ['style' => 'color:red'],
'columnOptions' => ['colspan' => 1],
'items' =>
AuthItem::find()
->select(['auth_item.name'])
->innerJoin('auth_assignment', 'auth_item.name = auth_assignment.item_name')
->where('auth_assignment.user_id = :user_id', [':user_id' => $userId])
->column(), 'auth_item.name',
'label' => 'Abteilung',
'selected' => true
]
]
]
);
当我检查元素时,我可以在Firefox中看到
<option value="0">
应该在下拉列表中写入我选择的值,而不是“ 0”。
答案 0 :(得分:0)
我有!解决方案是:
->indexBy('name')