2017-07-16 8 views
1

検索を実行しようとしていますが、データが受信されたがフィルタが表示されていないことを確認しました。範囲を使用してデータをフィルタリングする

class ControllerReport extends Controller 
{ 
    public function index(Request $request) 
    {  
     $servicio = mivista::name($request->get('name')); 

     return view('report.buscar_pagos', compact('servicio')); 
    } 
} 

とモデルで:コントローラにおいて

データを送信

<div class="panel-body"> 

    {!! Form::open (['route' => 'report.index', 'method'=>'GET', 'class' => 'navbar-form navbar-left pull-right']) !!} 
     <div class="form-group"> 
      <input type="text" name= "name" class="form-control" placeholder="Buscar por Servicio"> 
     </div> 
     <button type="submit" class="btn btn-default">Buscar</button> 

<?php 

namespace App; 

use Illuminate\Database\Eloquent\Model; 
use Illuminate\Database\Eloquent\Scope; 

use Illuminate\Database\Eloquent\Builder; 

class mivista extends Model 
{ 
    protected $table = 'mivista'; 

    public function scopeName($query,$name) 
    { 
     if (! is_null($name)) { 
      return $query->where('name', 'like', '%'.$name.'%'); 
     } 
    } 
} 

Iコントローラー内にすべてのデータが表示されますが、名前パラメーターを使って検索を行うことはできません。 あなたの助けをお待ちしております、あらかじめありがとうございます

答えて

1

返された値がBuilderオブジェクトであるように、クエリスコープを使用してクエリを変更しています。データを取得するには、getを呼び出してください。

この

$servicio = mivista::name($request->get('name'))->get(); 
+1

はいを​​お試しください!私は、私の問題を解決したことを確認します!どうもありがとうございました! @ zayn-ali – AtyFlow

関連する問題