2016-07-23 147 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结果集为空。 –

相关问题