當你在使用where語句有前提條件時,比如某值為1的時候才執行where子句,否則不執行,這個時候,laravel5.5新出了一個簡便方法when($arg,fun1[,fun2])。
具體用法如下:當$arg為真時,執行閉包fun1,為假時,執行閉包fun2(可選);
舉個栗子
1 when($arg,function ($q){
2 return $q->orderBy('id', 'asc');
3 }, function ($q) use ($a){
4 return $q->orderBy($a, 'desc');
5 });
當$arg為真是,執行按id升序排序,當$a為假時,執行按$a降序排序。
原文:
