php Laravel条件查询使用When

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php Laravel条件查询使用When相关的知识,希望对你有一定的参考价值。

function index()
{
  $query = Author::query();
  
  $query->when(request('filter_by') == 'likes', function ($q) {
      return $q->where('likes', '>', request('likes_amount', 0));
  });
  $query->when(request('filter_by') == 'date', function ($q) {
      return $q->orderBy('created_at', request('ordering_rule', 'desc'));
  });
  
  // From Laravel 5.4 you can pass the same condition value as a parameter
  $query->when(request('role', false), function ($q, $role) { 
      return $q->where('role_id', $role);
  });
  
  $authors = $query->get();
}

以上是关于php Laravel条件查询使用When的主要内容,如果未能解决你的问题,请参考以下文章

laravel多字段模糊查找,用when+orwhere时其他条件失效

laravel多字段模糊查找,用when+orwhere时其他条件失效

laravel多字段模糊查找,用when+orwhere时其他条件失效

laravel多字段模糊查找,用when+orwhere时其他条件失效

Laravel 查询构建器条件与当前查询使用时

关于laravel5.4.12新增集合操作when方法详解