php - Laravel 如何为 where like 查询动态数组列名称?

标签 php laravel eloquent query-builder

Laravel 动态数组列名如何用于 where like 查询?

示例:

User::where(['name', 'surname'], 'LIKE', '%' . $value . '%')->get();

但错误:

SQLSTATE[42S22]: Column not found: 1054 Unknown column '0' in 'where clause' (SQL: select count(*) as aggregate from `deneme` where (`0` = name and `1` = surname) and `user`.`deleted_at` is null)

最佳答案

我认为你应该试试这个:

$field = ['name', 'surname'];
$name = User::Where(function ($query) use($field, $value) {
            for ($i = 0; $i < count($field); $i++){
                $query->orwhere($field[$i], 'like',  '%' . $value .'%');
            }      
        })->get(); 

关于php - Laravel 如何为 where like 查询动态数组列名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60734520/

相关文章:

PHP artisan migrate 不创建新表

php - Laravel - 连接 3 个表

php - Laravel 有一个条件关系

PHP MySQL 使用 JsonString (Array) 插入记录

php - 按组排序(查询生成器)

php - 当变量为 false 时的 Where 子句不将其考虑到 SQL 查询中?

php - Laravel/Eloquent 5 whereBetween 没有按预期工作

php - 脚本执行多长时间才算太长?

laravel - 如何在不更新 created_at 时间戳的情况下更新模型?

php - 如何使用 laravel eloquent 获取加载关系的外键名称