如何在控制器中调用两个模型函数? LARAVEL

时间:2016-07-23 00:18:42

标签: php laravel

我是这个世界的新手,我正在尝试用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'功能不起作用,我怎样才能正确地调用/调用这个函数?谢谢!

3 个答案:

答案 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