php - laravel Eloquent 查询中的位置不适用于两个数组

标签 php mysql laravel laravel-5.3

如何在其中正确使用$a变量?我的代码如下:

$color = json_decode($request -> color); //["2","3"] from jquery ajax
$a;

foreach($color as $k){
    $a[] = $k;
}

$b =[2,3];
$query = $query->whereIn('color', $a);

当我将 $a 数组放入 whereIn 时,仅获取一条记录。但是如果我添加 $b 数组,那么所有记录都会被获取。我不知道这两个数组的问题是什么。

最佳答案

您可以使用 array_map将数组中的每个元素转换为整数:

$query->whereIn('color', array_map('intval', json_decode($request->color)));

关于php - laravel Eloquent 查询中的位置不适用于两个数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47700831/

相关文章:

Laravel Storage for Amazon S3 'put' 方法使用错误的 URL

javascript - Laravel 5 jquery可扩展div

php - 如果用户计算机 ip 地址与允许的 ip 地址 mysql 表不匹配,则阻止登录使用 Laravel 5.4

php - PDO "SELECT"没有返回结果

php - 带有简单查询的sql语法错误

php - 如何在 html 上只打印我想要的分区?

php - 如何将 html 和 php 代码存储在 php 变量中以回显到 html 页面

mysql - WordPress插件劫持数据库,如何清理?

mysql - 本地 MySQL 到 azure MySQL 数据库之间的镜像?

php - MYSQL/PHP 我可以在哪里插入