2015-02-19 28 views
7

Tôi có một cột trạng thái trong bảng của tôi với 3 trạng thái (đăng ký, chuyển tiếp, hoàn thành).Phạm vi Laravel - chuyển 2 tham số cho phạm vi

Tôi có một liên kết khác nhau trong quan điểm của tôi cho bộ lọc kết quả:

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

Ở đây có đoạn điều khiển:

if(Input::get('f')) 
     { 
      $reports = PsaReports::filter(Input::get('f'))->with('automat', 'failure')->orderBy('incoming_day', 'desc')->orderBy('incoming_time', 'desc')->paginate(30); 
     } 

Và đây phạm vi:

public function scopeFilter($filter, $search) 
    { 
     return $filter->where('status', $search); 
    } 

Với liên kết thứ ba ở trên tôi muốn phạm vi đăng ký trạng thái được chuyển tiếp. Liên kết chuyển hai tham số, làm thế nào tôi có thể chuyển chúng vào phạm vi?

Hoặc chỉ có thể với phạm vi thứ hai?

cảm ơn rất nhiều

Trả lời

10

Bạn có thể thêm tham số thứ ba vào phạm vi của mình và sau đó thực hiện điều gì đó đặc biệt nếu tham số đó được đặt.

phạm vi của bạn

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); 
} 

đoạn mã điều khiển của bạn

if(Input::get('f')) 
{ 
    $reports = PsaReports::filter(Input::get('f'), Input::get('f2'))->with('automat', 'failure')->orderBy('incoming_day', 'desc')->orderBy('incoming_time', 'desc')->paginate(30); 
} 

Liên kết của bạn

<li>{{ link_to_route('psa.index', 'Unerledigt', array('f' => 'forwarded', 'f2' => 'register'), $attributes = array('title' => 'Wird erledigt!')) }}</li> 
Các vấn đề liên quan