2016-06-30 12 views
1

私は10月のCMSを使用していますが、Laravelのコントローラと同様の目的を果たす配列をコンポーネントに追加する方法は知られていません。基本的に私のサイトの検索機能です。問題は、それは常に文字列変換への配列ERRORをスローします。コードを見ると、$resultsは多次元配列なので、最後の行の$this->$results = $results;に問題があります。コントローラ/コンポーネントに配列変数を宣言する[Laravel、October CMS]

/** 
* Component setup. 
* 
* @return void 
*/ 
    public function onRun() 
    { 
     $this->search(); 
    } 

    /** 
    * Initiate the search 
    * 
    *@return void 
    */ 
    public function search() 
    { 
    // Sets the parameters from the get request to the variables. 
     $popularno = Request::get('q'); 

     // Perform the query using Query Builder 
     $estates = DB::table('makler_realestate_objects') 
      ->where('slug', 'like', "%${popularno}%") 
      ->get(); 

     // Now build a results array 
     $i = 0; 
     foreach ($estates as $estate) { 
     $i++; 

     $results[$i] = [ 
      'title'  => $estate->prim_id, 
      'text'  => $estate->sifra_id, 
      'url'  => 'nepremicnina/' . $estate->slug, 
     ]; 
     } 

     print_r($results); 
     $this->$results = $results; // This is the issue 
    } 

は私がforループで配列の各項目を通じて{% set results = Search.results %}とループしてページ上でそれを呼び出すことができるように、コンポーネントにそれを宣言したいです。

{% for result in results %} 
<li>{{result.title}} {{result.text}}</li> 
{% endfor %} 

ありがとうございました。

答えて

1

$を追加して、プロパティ名として配列を割り当てようとしています。それを取り出して、あなたは大丈夫でしょう。

$this->results = $results; 
+0

私はこれを解決しようと多くの時間を費やしてきました。ご助力ありがとうございます。できるだけ早くあなたの答えを受け入れます。 – Svedr

関連する問題