You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Laravel 5.5中实现age=10的多字段模糊查询

转换后的Laravel 5.5查询构造器写法

没问题,这就把你给出的MySQL查询转换成Laravel 5.5适配的查询构造器代码,两种常用场景的写法都给你列出来:

1. 使用DB门面直接操作数据表

$results = DB::table('table')
    // 匹配age等于10的基础条件
    ->where('age', 10)
    // 用闭包包裹OR分组条件,确保括号优先级和原SQL一致
    ->where(function ($query) {
        $query->where('first_name', 'like', '%name%')
              ->orWhere('last_name', 'like', '%name%');
    })
    // 获取最终结果集
    ->get();

2. 使用Eloquent模型(若已创建对应模型)

假设你已经为该表创建了Eloquent模型(比如命名为TableModel),可以直接通过模型调用查询构造器:

$results = TableModel::where('age', 10)
    ->where(function ($query) {
        $query->where('first_name', 'like', '%name%')
              ->orWhere('last_name', 'like', '%name%');
    })
    ->get();

关键说明

这里的核心是用闭包包裹OR条件组,Laravel会自动为闭包内的条件添加括号,完美还原原SQL中(first_name like %name% OR last_name like %name%)的优先级逻辑,避免出现条件逻辑混乱的问题。

内容的提问来源于stack exchange,提问作者rckycls

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 08:06:45