代码之家  ›  专栏  ›  技术社区  ›  pirmax

Laravel 5.6和Algolia搜索返回空结果

  •  1
  • pirmax  · 技术社区  · 7 年前

    我在用 医生。

    $searches = Application::search($query)->get();
    

    集合{#243#项:[]}

    搜索应用程序时,结果返回0项。

    我键入以下命令:

    php artisan scout:import "App\Models\Application"
    

    <?php
    
    namespace App\Models;
    
    use Illuminate\Database\Eloquent\Model;
    use Laravel\Scout\Searchable;
    
    class Application extends Model
    {
        use Searchable;
    
        /**
         * The attributes that are mass assignable.
         *
         * @var array
         */
        protected $fillable = [
            'user_id',
            'title',
            'slug',
            'short_description',
            'long_description',
            'state',
        ];
    
        /**
         * @return string
         */
        public function searchableAs()
        {
            return 'applications';
        }
    
        /**
         * @return mixed
         */
        public function getScoutKey()
        {
            return $this->title;
        }
    }
    
    2 回复  |  直到 7 年前
        1
  •  3
  •   Julien Bourdeau    7 年前

    目前,Scout将尝试构建一个集合,将id与标题相匹配。一旦你定义了 getScoutKeyName 方法(它应该返回类似于字符串的内容 title

        2
  •  -2
  •   Ajay D.    7 年前

    您当前的命名空间为 App\Models . 是否尝试更新搜索调用以镜像此命名空间?:

    $searches = App\Models\Application::search($query)->get();
    
    推荐文章