我正在使用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