我是这个世界的新手,我正在尝试用LARAVEL在PHP中学习一些。
我正在尝试进行搜索输入,但我遇到了一些问题。
如何在Controller中调用两个不同的模型函数?
在我的模型中,我有两个功能:
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'功能不起作用,我怎样才能正确地调用/调用这个函数?谢谢!
答案 0 :(得分:0)
如何调用多个函数模型没有任何秘密。
您只需要retrieve正确查询结果并将其存储在变量中,例如。
$result = Usados::search('your search term here')->get();
dd($result); // See the function return.
答案 1 :(得分: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()!!}
答案 2 :(得分:0)
此Laracast视频将清除您如何使用Eloquent Model:
https://laracasts.com/series/laravel-5-fundamentals/episodes/11