经过几天的搜索,我决定来这里询问。

我以前使用过该软件包,并且从字面上复制粘贴了代码,但在该项目中仍然无法使用。

我正在尝试使用Elasticquent中的Elasticsearchlaravel 5.2包。

我得到的错误是:Invalid argument supplied for foreach()这是在/vendor/elasticsearch/elasticsearch/src/Elasticsearch/ClientBuilder.php行上的111文件中引发的。

每当我尝试使用该软件包时都会发生这种情况(即:使用searchaddAllToIndex等)。

据我所知,配置为null,所以elasticquent中有一个我错过的设置吗?

有想法该怎么解决这个吗?

编辑

我的config/elasticquent.php文件(与`vendor / elasticquent / elasticquent / src / config / elasticquent.php完全相同):

<?php

return array(

    /*
    |--------------------------------------------------------------------------
    | Custom Elasticsearch Client Configuration
    |--------------------------------------------------------------------------
    |
    | This array will be passed to the Elasticsearch client.
    | See configuration options here:
    |
    | http://www.elasticsearch.org/guide/en/elasticsearch/client/php-api/current/_configuration.html
    */

    'config' => [
        'hosts'     => ['localhost:9200'],
        'retries'   => 1,
    ],

    /*
    |--------------------------------------------------------------------------
    | Default Index Name
    |--------------------------------------------------------------------------
    |
    | This is the index name that Elastiquent will use for all
    | Elastiquent models.
    */

    'default_index' => 'my_custom_index_name',

);

编辑2
结果到curl -XGET localhost:9200:
{
  "name" : "Mac Gargan",
  "cluster_name" : "elasticsearch",
  "version" : {
    "number" : "2.3.2",
    "build_hash" : "b9e4a6acad4008027e4038f6abed7f7dba346f94",
    "build_timestamp" : "2016-04-21T16:03:47Z",
    "build_snapshot" : false,
    "lucene_version" : "5.5.0"
  },
  "tagline" : "You Know, for Search"
}

编辑3
对于任何遇到此问题的人,我都无法解决。我不得不使用另一个包mustafaaloko/elasticquent5找到here

最佳答案

这是我在Invalid argument supplied for foreach()中的答案

10-04 10:34