2016-04-18 74 views
0

我想在我的項目中進行搜索。我使用typeahead,但它不起作用。這是我的代碼:如何在yii2中打開顯示數據庫信息?

<?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

docs

prefetch陣列,配置爲prefetch選項對象。請參閱documentation瞭解可以爲此參數設置的選項。返回的數據必須被JSON編碼並將其轉換爲格式[['value' => 'data1'], ['value' => 'data2'],...]的關聯數組,其中value是固定keydisplay

你傳入對象而不是關鍵值對的陣列的陣列。您可以使用asArray創建對象列表。您將需要將display更改爲包含該數據的字段的名稱:

'prefetch' => Penerima::find()->select('title')->asArray()->all(), 
相關問題