2016-04-18 4 views
0

私のプロジェクトで検索したい。私は先読みを使用していますが、動作していません。これは私のコードです:docsからyii2でtypahead showデータベース情報を作成するにはどうすればよいですか?

<?php 
     echo '<label class="control-label">Select Repository</label>'; 
     $template = '<div><p class="repo-language">{{no_telepon}}</p>' . 
      '<p class="repo-name">{{nama}}</p>' . 
      '<p class="repo-description">{{email}}</p></div>'; 
     echo Typeahead::widget([ 
      'name' => 'twitter_oss', 
      'options' => ['placeholder' => 'Filter as you type ...'], 
      'dataset' => [ 
       [ 
        'prefetch' => Penerima::find()->all(), 
        'datumTokenizer' => "Bloodhound.tokenizers.obj.whitespace('value')", 
        'display' => 'value', 
        'templates' => [ 
         'notFound' => '<div class="text-danger" style="padding:0 8px">Unable to find repositories for selected query.</div>', 
         'suggestion' => new JsExpression("Handlebars.compile('{$template}')") 
        ] 
       ] 
      ] 
     ]); 
    ?> 

答えて

0

prefetch配列prefetchオプションオブジェクトの設定。このパラメータに設定できるオプションについては、documentationを参照してください。戻りデータは、JSONは、符号化して、代わりに、キーと値のペアの配列のオブジェクトの配列を渡すdisplay

valueが固定key集合である形式[['value' => 'data1'], ['value' => 'data2'],...]の連想配列に変換されなければなりません。 asArrayを使用してオブジェクトのリストを作成できます。 displayを、データを含むフィールドの名前に変更する必要があります。

'prefetch' => Penerima::find()->select('title')->asArray()->all(), 
関連する問題