我正在使用Yii2 GridView中具有關係的模型。如果我嘗試使用索引頁上的ID進行搜索,則會導致SQL錯誤,因爲該ID是明確的。如何使用表名爲Yii2定義限定屬性GridView
SQLSTATE [23000]:完整性約束違規:1052列 'ID' 中 where子句是正在執行的曖昧SQL是:SELECT COUNT(*)FROM LEFT
re_ingredient
JOINre_ingredient_lang
ONre_ingredient
。id
=re_ingredient_lang
。ingredient_id
LEFT JOINre_ingredient_group_lang
ONre_ingredient
。ingredient_group_id
=re_ingredient_group_lang
。ingredient_group_id
WHERE((id
= '1')和 (re_ingredient_lang
。外語= 'EN-US'))AND (re_ingredient_group_lang
。外語= 'EN-US')
我在views/ingredient/index.php
代碼:
<?= GridView::widget([ 'dataProvider' => $dataProvider, 'filterModel' => $searchModel, 'columns' => [ ['class' => 'yii\grid\SerialColumn'], ['attribute' => 'id', 'contentOptions' => ['width' => '80px'] ], ['attribute' => 'NDB_No', 'contentOptions' => ['width' => '80px'] ], ['attribute' => 'group_name', 'value' => 'ingredientGroupLang.name'], ['attribute' => 'name', 'value' => 'translation.name'], ['attribute' => 'name_alt', 'value' => 'translation.name_alt'], 'name_lat', // 'created_at', // 'updated_at', ['class' => 'yii\grid\ActionColumn', 'contentOptions' => ['style' => 'white-space: nowrap;'] ], ], ]); ?>
我怎麼能實現,那
re_ingredient.id
where子句,而不是簡單的id
中使用?
添加您的搜索模型代碼($ dataProvider構成的部分)。 – arogachev 2015-02-06 09:07:06