2016-09-19 5 views
0

Ich versuche, den Befehl php artisan scout:import "App\User" auszuführen, um Benutzerdatensätze in den Suchtreiber gemäß Dokumentation zu importieren (Laravel 5.3 Scout Documentation). Ich erhalte immer wieder [BadMethodCallException]
Aufruf zu undefinierter Methode Illuminate \ Database \ Query \ Builder :: makeAllSearchable() als einen Fehler. Warum erhalte ich diesen Fehler? Ich habe das durchsuchbare Merkmal in meinen Benutzer-Controller aufgenommen und die Scout-Klasse zu meinem app/config providers Array hinzugefügt, so dass ich mich wundere, warum die Methode nicht existiert ...BadMethodCallException: Aufruf zu undefinierter Methode Illuminate Database Query Builder :: makeAllSearchable()

Antwort

2

Sie sollten das Merkmal nicht hinzufügen der Controller aber zum Modell. Also in Ihrem Fall App \ User.php

<?php 

namespace App; 

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

class User extends Model 
{ 
    use Searchable; 
} 
+0

Ich schäme mich wirklich dafür, dass ich solchen einfachen Anweisungen nicht Folge geleistet habe ... Nicht nur das, aber warum um alles in der Welt würde das durchsuchbare Merkmal sogar im Controller sein? Zu viel Zeit an einem Tag zu programmieren. Ich danke dir sehr. –

2

Wie Jakub gesagt hat, können Sie die durchsuchbare Eigenschaft zu Ihrem Benutzer Modell hinzufügen müssen, nicht an die Steuerung.

Wenn Sie toSearchableArray() in Ihrem Modell verwenden, vergessen Sie nicht, die id Spalte in das Array aufzunehmen, sonst wird es nicht funktionieren.

Sie können auch die toSearchableArray() Funktion kommentieren, die vorhandenen Benutzer importieren und dann wieder hinzufügen.

+0

Danke dafür :) –

Verwandte Themen