Этот фрагмент работает и правильно устанавливает данные из Table Product и имени столбца в качестве входных данных для расширения начального ввода для YII.
но в итоге я написал SELECT ALL из Table Product, который имеет большое количество данных.
Можем ли мы изменить это, чтобы условие WHERE можно было добавить в DataProvider при событии пользовательского ввода. На основе каждого введенного алфавита может быть запущен новый запрос и получен только подмножество данных?
<?php
$dataProvider = new CActiveDataProvider('Product');
$dataArray = $dataProvider->getData();
$myarray = array();
foreach ($dataArray as $data){
array_push($myarray, CHtml::encode($data->name));
}
$this->widget('bootstrap.widgets.TbTypeahead', array(
'name' => 'typeahead',
'options'=>array(
'name'=>'typeahead',
'source'=>$myarray,
'items'=>4,
'matcher'=>"js:function(item) {
return ~item.toLowerCase().indexOf(this.query.toLowerCase());
}",
),
'htmlOptions'=>array('class'=>'search-query span3', 'placeholder'=>"Search" ),
)); ?>
matcher
, если он не изменился по умолчанию, как у вас выше. - person pickypg   schedule 28.04.2013