Индекс users_index не существует laravel scout - PullRequest
0 голосов
/ 26 февраля 2019

Я пытаюсь создать функцию поиска, которая говорит, что users_index не существует, а в модели из App\User.php Я не понимаю, почему она выдает эту ошибку?может кто-нибудь объяснить, почему выдает ошибку?

ошибка: индекс users_index не существует

note Примечание scout.php настроен правильно, при этом ALGOLIA_APP_ID и ALGOLIA_SECRET 'и 'queue' => env('SCOUT_QUEUE', true),

web.php Route::get('index','SearchController@search')

searchcontroller.php

 namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\User;

class SearchController extends Controller
{
public function search(Request $request)
{
    if($request->has('search')){
        $users = User::search($request- 
>get('search'))->get();
    }else{
        $users = User::get();
    }
    return view('index', compact('users'));
}
}

blade-сервер

 <body>
<div class="container">
<h1>Laravel Scout Search Tutorial</h1>
<form method="GET" action="{{ url('index') 
}}">
    <div class="row">
        <div class="col-md-6">
            <input type="text" name="search" class="form-control" placeholder="Search">
        </div>
        <div class="col-md-6">
            <button class="btn btn-info">Search</button>
        </div>
    </div>
</form>
<br/>
<table class="table table-bordered">
    <tr>
        <th>Id</th>
        <th>Name</th>
        <th>Email</th>
    </tr>
    @if(count($users) > 0)
        @foreach($users as $user)
            <tr>
                <td>{{ $user->id }}</td>
                <td>{{ $user->name }}</td>
                <td>{{ $user->email }}</td>
            </tr>
        @endforeach
    @else
        <tr>
            <td colspan="3" class="text- 
danger">Result not found.</td>
        </tr>
    @endif
</table>
</div>
</body>

модель пользователя

namespace App;

 use Illuminate\Notifications\Notifiable;
 use Illuminate\Contracts\Auth\MustVerifyEmail;
 use Laravel\Scout\Searchable;
  use Illuminate\Foundation\Auth\User as Authenticatable;

class User extends Authenticatable
{
use Notifiable;
use Searchable;

/**
 * The attributes that are mass assignable.
 *
 * @var array
 */
protected $fillable = [
    'name', 'email', 'password',
];

public function searchableAs()
{
    return 'users_index';
}

/**
 * The attributes that should be hidden for arrays.
 *
 * @var array
 */
protected $hidden = [
    'password', 'remember_token',
];

/**
 * The attributes that should be cast to native types.
 *
 * @var array
 */
protected $casts = [
    'email_verified_at' => 'datetime',
];
}

1 Ответ

0 голосов
/ 26 февраля 2019

Забыл сделать эту команду в командной строке php artisan scout:import "App\User" теперь работает нормально

...