2016-07-23 145 views
0

我是這個世界的新手,我正嘗試在PHP中學習一些LARAVEL。如何在控制器中調用兩個模型函數? LARAVEL

而且我想做一個搜索輸入,和我有一些問題。

我如何能夠調用在控制器配備了兩個型動物模型的功能呢?

在我的模型我有這兩個功能:

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'功能它完美的工作,並列出一些文章,但'範圍搜索'功能不起作用,我如何使/調用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」?因爲不具有或不具有這方面的工作.. :( 如果我把「空」顯示我的foreach(附帶此消息=>無效參數) 如果我把「$ usado->名稱」顯示此=>嘗試獲得非對象的屬性。 – jhonleg

+0

意味着你的SQL結果集爲空。 –

相關問題