2016-09-19 3 views
0

Я пытаюсь запустить команду php artisan scout:import "App\User" для импорта записей пользователей в поисковый драйвер согласно документации (Laravel 5.3 Scout Documentation). Я продолжаю получать [BadMethodCallException]
Вызов неопределенного метода Illuminate \ Database \ Query \ Builder :: makeAllSearchable() как ошибка. Почему я получаю эту ошибку? Я включил признак поиска в свой контроллер пользователей и добавил класс скаутов в свой массив приложений/конфигурационных провайдеров, поэтому я стараюсь понять, почему метод не существует ...BadMethodCallException: вызов неопределенного метода Illuminate Database Query Builder :: makeAllSearchable()

ответ

2

Вы не должны добавлять признак в контроллер, а модель. Так что в вашем случае с App \ User.php

<?php 

namespace App; 

use Laravel\Scout\Searchable; 
use Illuminate\Database\Eloquent\Model; 

class User extends Model 
{ 
    use Searchable; 
} 
+0

Я буквально стыжусь себя за то, что не следовал таким простым инструкциям ... Не только это, но почему на земле можно было бы распознать черту даже в контроллере? Слишком много времени кодирования за один день. Огромное спасибо. –

2

Как Якуб сказал, вы должны добавить к черту с возможностью поиска модели пользователя , а не к контроллеру.

Если вы используете toSearchableArray() на своей модели, не забудьте включить в массив столбец id, иначе он не будет работать.

Вы также можете комментировать функцию toSearchableArray(), импортировать существующие пользователи, а затем добавить их обратно.

+0

Спасибо за это :) –

Смежные вопросы