2016-07-23 6 views
0

Ich bin neu auf dieser Welt, und ich versuche, etwas in PHP mit LARAVEL zu lernen.Wie ruft man zwei Modellfunktionen in einer Steuerung auf? LARAVEL

Und ich versuche, eine Sucheingabe zu machen, und ich habe ein paar Probleme.

Wie kann ich zwei verschiedene Modellfunktionen in einem Controller aufrufen?

In meinem Modell Ich habe diese zwei Funktionen:

public static function Peticion(){ 
    return DB::table('usados') 
     ->join('marcas', 'marcas.id', '=', 'usados.marca_id') 
     ->select('usados.*', 'marcas.nombre') 
     ->paginate(9); 
} 

public function scopeSearch($query, $buscar){ 
    return $query->where('modelo', 'LIKE', "%$buscar%"); 
} 

und in meinem Controller Ich habe diese:

public function usados(Request $request) { 
    Usados::Search($request->buscar); 
    $usado = Usados::Peticion(); 
    return view('usados', compact('usado')); 
} 

Und das ist meine Suche Button:

{!!Form::open(['method'=>'GET', 'class'=>'navbar-form', 'align'=>'center'])!!} 
    <div class="form-group"> 
     {!!Form::text('buscar', null, ['class'=>'form-control', 'placeholder'=>'Buscar...'])!!} 
     {!!Form::submit('Buscar',['class'=>'btn btn-buscador'])!!} 
    </div> 
{!!Form::close()!!} 

' Peticion 'Funktion es funktioniert perfekt und listet einige Artikel auf, aber die Funktion' scopeSearch 'funktioniert nicht, wie kann ich korrigieren/korrigieren? y diese Funktion? Vielen Dank!

Antwort

0

Es gibt kein Geheimnis um wie man mehrere Funktionen Modell aufrufen.

Sie müssen nur retrieve korrekt das Ergebnis der Abfrage und speichern Sie es zum Beispiel in einer Variablen.

$result = Usados::search('your search term here')->get(); 
dd($result); // See the function return. 
+0

dies nicht funktioniert für mich .. :( – jhonleg

0

Ihr Modell

public static function Peticion(){ 
    return DB::table('usados') 
    ->join('marcas', 'marcas.id', '=', 'usados.marca_id') 
    ->select('usados.*', 'marcas.nombre') 
    ->paginate(9); 
} 

public function scopeSearch($query,$buscar){ 
    return $query->where('modelo', 'LIKE', "%$buscar%"); 
} 

Ihr Controller

public function usados(Request $request) { 
    $usado = Usados::Peticion()->search($request['buscar']); 
    return view('usados', compact('usado')); 
} 

Ihre Ansicht

{!!Form::open(['method'=>'GET', 'class'=>'navbar-form', 'align'=>'center'])!!} 
<div class="form-group"> 
    {!!Form::text('buscar', $usado->name, ['class'=>'form-control', 'placeholder'=>'Buscar...'])!!} 
    {!!Form::submit('Buscar',['class'=>'btn btn-buscador'])!!} 
</div> 
{!!Form::close()!!} 
+0

, was das genannte? "$ usado-> name" aus meiner Sicht? weil ist nicht arbeiten mit oder ohne dies .. :( Wenn ich 'null' zeige zeige mir diese Nachricht => Ungültige Argument für foreach() Wenn ich '$ usado-> name' mir dies = = Probieren Eigenschaft – jhonleg

+0

das bedeutet, dass Ihre SQL-Ergebnismenge leer ist –

Verwandte Themen