Php 向控制器/组件声明一个数组变量[Laravel,10月CMS]

Php 向控制器/组件声明一个数组变量[Laravel,10月CMS],php,arrays,symfony,laravel,octobercms,Php,Arrays,Symfony,Laravel,Octobercms,我使用的是10月CMS,不知道如何向组件添加阵列,该组件与Laravel的控制器具有类似的用途。基本上,这是我的网站搜索功能。问题是,它总是抛出一个数组到字符串的转换错误。如果您查看代码,问题在于最后一行$this->$results=$results

我使用的是10月CMS,不知道如何向组件添加阵列,该组件与Laravel的控制器具有类似的用途。基本上,这是我的网站搜索功能。问题是,它总是抛出一个数组到字符串的转换错误。如果您查看代码,问题在于最后一行
$this->$results=$results$results
是多维数组

/**
 * 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
  }
我想向组件声明它,这样我就可以在页面上用
{%set results=Search.results%}
调用它,并用for循环遍历每个数组项

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

    谢谢你的帮助

    您试图使用额外的
    $
    将数组指定为属性名。把它拿出来,你会没事的

    $this->results = $results;
    

    我花了很多时间试图解决这个问题。非常感谢你的帮助。我会尽快接受你的答复。