我通过作曲家安装了yii2-jui。
我想在2个不同的模型中使用AutoComplete,一次在母亲中,一次在外国模型中。这是关于Lands。
现在在母亲(观点/土地/指数):
use yii\jui\AutoComplete;
use app\models\Land;
[
'attribute' => 'name',
'filter' => AutoComplete::widget([
'model' => $searchModel,
'attribute' => 'name',
'clientOptions' => [
'source' => ArrayHelper::map(Land::find()->select('id, name')->orderBy('name')->all(), 'id', 'name'),
'autoFill' => true,
'minLength' => 2
],
]),
],
问题是,它不起作用,因为顺序当然键不是从零向上。一旦我重置了密钥,它就会开始工作。现在在母亲这不是“真正”的问题(实际上它仍然是一个问题),但是一旦我想在“外国”模型中使用它,我必须实际搜索一个键(id),而不是土地的名称,它不会工作。我错过了什么?你能指点我正确的方向吗?非常感谢!
答案 0 :(得分:0)
我已经明白了:
在母亲看来:
use yii\jui\AutoComplete;
use app\models\Land;
[
'attribute' => 'name',
'filter' => AutoComplete::widget([
'model' => $searchModel,
'attribute' => 'name',
'clientOptions' => [
'source' => Land::find()->select(['name AS value', 'name AS label'])->orderBy('name')->asArray()->all(),
],
]),
],
在外国观点:
use yii\jui\AutoComplete;
use app\models\Land;
[
'attribute' => 'land_id',
'filter' => AutoComplete::widget([
'model' => $searchModel,
'attribute' => 'land_id',
'clientOptions' => [
'source' => Land::find()->select(['id AS value', 'name AS label'])->orderBy('name')->asArray()->all(),
],
]),
],