当你在使用where语句有前提条件时,比如某值为1的时候才执行where子句,否则不执行,这个时候,laravel5.5新出了一个简便方法when($arg,fun1[,fun2]). 具体用法如下:当$arg为真时,执行闭包fun1,为假时,执行闭包fun2(可选): 举个栗子 when($a,function ($q){ return $q->orderBy('id', 'asc'); }, function ($q) use ($a){ return $q->orderBy($a, 'd…