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

如何在products表中显示存在有效值的slider字段?

问题

我的products表中有一个slider字段,部分记录该字段有有效值,部分无值。我需要查询出slider字段存在有效值的记录,目前使用的代码如下:

$sliders = Product::query()->whereNotNull('slider')->get();
解决方案

仅用whereNotNull('slider')只能排除slider为NULL的记录,但如果字段值是空字符串或者全空格这类无效值,依然会被查询出来。根据需求,推荐以下几种处理方式:

  • 基础过滤(排除NULL和空字符串)

    $sliders = Product::query()
        ->whereNotNull('slider')
        ->where('slider', '<>', '')
        ->get();
    
  • 处理全空格的无效值
    如果slider字段可能存在由空格组成的无效值,可以用TRIM函数去除首尾空格后再判断:

    $sliders = Product::query()
        ->whereNotNull('slider')
        ->whereRaw("TRIM(slider) <> ''")
        ->get();
    
  • Laravel 9+ 简化写法
    Laravel 9及以上版本提供了whereNotBlank方法,可自动过滤NULL、空字符串和全空格的无效值:

    $sliders = Product::query()->whereNotBlank('slider')->get();
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 20:45:36