我有两张相关的表格。例如,
tbl_one ID 名称
tbl_second ID id_tblone(这是fk) 名称
例如:
tbl_one id:1 名称:输入一个
tbl_second id:1 id_tblone:1 名称:数据一 id:2 id_tblone:1 名称:数据二
选择将显示: 输入一个 输入两个
我想在一个将在tbl_second中保存新数据的表单中使用Kartik的select。所以我需要Select2来选择id_tblone(或来自tbl_one的id)和他的姓名。用户需要选择,让我们说正确的类别(从第一个表 - 我有fk与这两个表相关)并在第二个表中的该类别下添加一些新数据。 什么是正确的方法呢?
编辑:我已经管理到目前为止在正确的id_tblone下显示正确的名称,但它在我的第二个表的id_tblone列中保存值为null的数据
在控制器中:
$query = array();
$query = (new \yii\db\Query())
->select(['id', 'name'])
->from('tbl_one')
->leftJoin('tbl_second', 'tbl_second.id_tblone = tbl_one.id')
->all();
在视图中:
$data = ArrayHelper::map($query,'name', 'id');
echo Select2::widget([
'name' => 'newname',
'data' => $data,
'pluginOptions' => [
'allowClear' => true
],
]);