具有多个选项的PHP Laravel复杂查询
我有一个包含4个字段的搜索表单:具有多个选项的PHP Laravel复杂查询,php,mysql,optimization,laravel,eloquent,Php,Mysql,Optimization,Laravel,Eloquent,我有一个包含4个字段的搜索表单: 头衔 流派->(单独查询以获取和查找流派) 评级 Order by->(包括在所有查询中) 我正在尝试优化搜索功能,因为它大约有300行长。我所做的是写出所有可能的组合——应该包含在查询中的内容 if ( empty($title) && $genre === 'All' && $rating === '0') {} if (!empty($title) && $genre === 'All' &&
if ( empty($title) && $genre === 'All' && $rating === '0') {}
if (!empty($title) && $genre === 'All' && $rating === '0') {}
有8种可能的组合,我不知道如何优化 我想我找到了一个非常好的解决方案,这也使得添加额外的标准变得轻而易举 我不知道你的类名是什么,所以我假设你有一张书桌和一本模型书 下面是我在快速测试台上设置的东西
$books = new Book;
if(!empty($title))
$books = $books->where('title','=',$title);
if(!empty($genre))
$books = $books->where('genre','=',$genre);
if(!empty($rating))
$books = $books->where('rating','=',$rating);
$books = $books->get();