2017-12-23 10 views
0

ので、私はテキストエリアにjqueryのオートコンプリートを使用したい、私が使用する値は、このクラスでは(Yii2の「RetornaTabelas」クラスから)クエリから来た私は方法 GetTableNamesメソッドました:YII2 jQueryオートコンプリートにクエリ結果を送るには?

public function getTableNames($db) { 

    $queryTemp = new Query; 
    $queryTemp->select('con_name') 
      ->from('MyTable'); 
    $tablesName = $queryTemp->All(); 
    $commandAux = $queryTemp->createCommand(); 
    $tablesName = $commandAux->queryAll(); 

    foreach ($tablesName as $tname) { 

     $sql= " 
     SELECT TABLE_NAME 
     FROM INFORMATION_SCHEMA.TABLES 
     WHERE TABLE_TYPE = 'BASE TABLE' AND TABLE_SCHEMA='".$tname."'; 
     "; 

     $transaction = Yii::$app->db->beginTransaction(); 
     $connection = Yii::$app->db; 
     $command = $connection->createCommand($sql)->execute(); 
     $transaction->commit(); 

     return BaseJson::encode($command); 
    } 

} 

私をJavascriptの機能:

$(function() { 



    $.getJSON('HOW TO PUT THE DATA FROM MY CLASS HERE ?', function(data){ 
     var cliente = []; 

    // Armazena na array capturando somente o nome do cliente 
    $(data).each(function(key, value) { 
     table.push(value); 
    }); 

    // Chamo o Auto complete do JQuery ui setando o id do input, array com os dados e o mínimo de caracteres para disparar o AutoComplete 
    $('.ace_text_input').autocomplete({ source: table, minLength: 3}); 

});

答えて

0
  1. あなたのコントローラ/アクションでは、データを配列として返します。 return Post::find()->where(['slug'=>$slug])->asArray()->all();のようなもの、または単に\yii\helpers\Json::encode(...)のオブジェクトを返す
  2. javamsのparamsでこのURLを呼び出します。 <?= Url::to(['mycontroller/myaction']) ?>は、ハードコードなしでURLを取得する私の方法です
関連する問題