2016-07-23 13 views
0

私はこの世界では新しく、私はLARAVELでPHPでいくつか学びたいと考えています。コントローラで2つのモデル関数を呼び出す方法は? LARAVEL

検索入力をしようとしていますが、いくつか問題があります。

コントローラーで2つの異なるモデル関数を呼び出すにはどうすればよいですか?

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%"); 
} 

、私のコントローラで、私はこの持っている:

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

を、これは私の検索ボタンです:

{!!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 '関数それは完全に動作し、いくつかの記事をリストしていますが、' scopeSearch '関数は機能しません。どうすればcorrectlを呼び出せますかこの機能は?ありがとう!

答えて

0

複数の関数モデルを呼び出す方法についての秘密はありません。

クエリ結果を正しくretrieveにするだけで、たとえば変数に格納するだけです。

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

これは私のために動作しない.. :( – jhonleg

0

あなたのモデル

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%"); 
} 

お使いのコントローラ

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

ビュー

{!!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

これは呼ば何? "$ usado-> name"は私の見解では?なぜなら、このメッセージの有無にかかわらず動作しないからです。:( 私は 'null'を表示します。このメッセージを表示する=>無効な引数がforeach()に提供されました '$ usado->非オブジェクトのプロパティを取得する – jhonleg

+0

これはあなたのSQL結果セットが空であることを意味します –

関連する問題