gpt4 book ai didi

MySQL查询,其中列是特定值或任何值

转载 作者:可可西里 更新时间:2023-11-01 07:55:42 25 4
gpt4 key购买 nike

不是专门针对 Laravel 的问题,但我正在使用 Laravel 查询生成器。我有一个 MySQL 数据库列,其中包含一长串状态中的任何一个。过滤列表时,我只是将一个或多个状态作为数组传递给查询...

$statusArray = ['active','inProgress'];

DB::table('mytable')->whereIn('status', $statusArray)->get();

然而,当不过滤时,我希望返回所有状态,所以我希望像...

 $statusArray = [*];

是否有一种简单的方法来处理这个问题,或者我是否需要为查询动态构建 whereIn 子句?

最佳答案

当你想查看特定状态时,将它们添加到 $statusArray

$statusArray = ['active','inProgress'];

当你想获取所有状态时,将 $statusArray 声明为空数组

$statusArray = array();

然后像下面这样在 eloquent 中添加条件

DB::table('mytable')->when(!empty($statusArray), function($q, $statusArray) {
return $q->whereIn('status', $statusArray);
})->get();

关于MySQL查询,其中列是特定值或任何值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52292560/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com