当前位置: 首页 > 知识库问答 >
问题:

Laravel查询:PHP内爆数组字符串值[重复]

越望
2023-03-14

目前我有这个变量

$arrays=内爆(“,”,$request-

如果我试图返回这个变量。我将得到这种输出

2019-1002018-100

如你所见,这些值用逗号分隔

现在,在我的laravel查询中,我试图获取员工的所有记录,除了上面这两个公司id

pm_selectedDB::c连接

查询不工作,它显示所有的数据和数据与company_id2019-100和2018-100

它应该列出除这两个公司id2019-100和2018-100

我的格式或语法有什么问题吗?


共有3个答案

方焱
2023-03-14

查询中的问题是in部分中的单引号。

如果你从

$pm_selected = DB::connection('mysql')->select("SELECT * FROM view_employee_info WHERE company_id NOT IN('".$arrays."')");

$pm_selected = DB::connection('mysql')->select("SELECT * FROM view_employee_info WHERE company_id NOT IN(".$arrays.")");

它应该像你期望的那样工作。它目前不起作用,因为您的查询如下所示:

SELECT * FROM table WHERE company_id IN ('123, 234')

将您的输入值视为单个值,123,234

甘明朗
2023-03-14

您的内爆阵列看起来像是2019-100、2018-100,查询也是如此:

SELECT * FROM view_employee_info WHERE company_id NOT IN('2019-100, 2018-100')

试着像这样内爆:

implode("', '", $arr)

然后查询就可以了:

SELECT * FROM view_employee_info WHERE company_id NOT IN('2019-100', '2018-100')
南门承教
2023-03-14

假设$request-

DB::table(..)->select(..)->whereNotIn('company_id', $request->pmChck)->get();

 类似资料:
  • 问题内容: 我正在寻找PHP函数的名称,以从键值对数组构建查询字符串。请注意,我正在寻找 内置的PHP 函数来执行此操作,而不是自制程序(这就是所有Google搜索似乎返回的结果)。有一个,我只是不记得它的名字或在php.net上找到它。IIRC的名称不是那么直观。 问题答案: 您正在寻找。

  • 问题内容: 我在C#中使用elasticsearch.net库,并尝试查询与指定过滤器匹配的对象。 我希望查询返回对象,其中对象的Names集合中至少存在来自过滤器的输入名称之一。 问题是此查询的结果总是使我命中0次,即使我确定数据库中确实存在与指定过滤器匹配的数据,我也想找出我的查询出了什么问题… 该模型: 过滤对象: 查询数据的方法: 我也尝试过以下查询,但都没有产生预期的结果: 适用于我的解

  • 问题内容: 简单吧?好吧,这不起作用:-\ 问题答案: 最佳实践 如第一个答案的注释中所述,最佳实践是使用PHP常量PHP_EOL,它代表当前系统的EOL(行 尾 )。 警告 这些常数使您的页面系统独立,但是当将常数与存储在另一系统上的数据一起使用时,从一个系统移动到另一个系统时可能会遇到问题。新系统的常数可能与先前系统的常数不同,并且存储的数据可能不再起作用。因此,在存储数据之前先完全解析您的数

  • 我试图获取任意长度的字符串[],并将其打印成字符串,最好使用字段分隔符。现在我有: 但是由于某种原因,它只是返回“第二个”值。我如何使它正确连接这些值? 另外,我可以使用来简化代码吗?谢谢

  • 问题内容: 如何将下面的 字符串 转换为 数组 ? 这是我要寻找的阵列, 问题答案: 您需要该函数,并且需要设置第二个参数以将数据放入数组中,而不是放入单个变量中。

  • 我有一个字符串变量,它包括我试图排序的网格的列名。。 我希望将其拆分为一个包含4个值的字符串数组。我尝试了以下代码行: 然而,当我运行这个程序时,逗号仍然停留在该值上,因此我有例如和。如果没有逗号,如何拆分这些值?