我的表中有一个状态列,有3个状态(注册,转发,完成).
我在视图中有一个不同的链接来过滤结果:
<li>{{ link_to_route('psa.index','Eingetragen',array('f' => 'register'),$attributes = array('title' => 'Eingetragen!' )) }}</li> <li>{{ link_to_route('psa.index','Wird erledigt',array('f' => 'forwarded'),$attributes = array('title' => 'Wird erledigt!' )) }}</li> <li>{{ link_to_route('psa.index','Unerledigt',array('f' => 'forwarded','register'),$attributes = array('title' => 'Wird erledigt!' )) }}</li>
这是控制器代码段:
if(Input::get('f')) { $reports = PsaReports::filter(Input::get('f'))->with('automat','failure')->orderBy('incoming_day','desc')->orderBy('incoming_time','desc')->paginate(30); }
这里的范围:
public function scopeFilter($filter,$search) { return $filter->where('status',$search); }
通过上面的第三个链接,我想要调整状态寄存器的范围并进行转发.该链接传递两个参数,我如何将它们传递给范围?
或者它只能用第二个范围?
非常感谢
您可以在范围中添加第三个参数,然后在设置该参数时执行一些特殊操作.
你的范围
public function scopeFilter($filter,$search,$search2 = null) { if ($search2 !== null) { return $filter->where(function($query) use ($search,search2) { $query->where('status',$search)->orWhere('status',$search2); }); } return $filter->where('status',$search); }
您的控制器代码段
if(Input::get('f')) { $reports = PsaReports::filter(Input::get('f'),Input::get('f2'))->with('automat','desc')->paginate(30); }
你的链接
<li>{{ link_to_route('psa.index','f2' => 'register'),$attributes = array('title' => 'Wird erledigt!' )) }}</li>