Laravel"小于"查询未显示预期结果

Chr*_*end 2 php mysql laravel eloquent

我正在尝试进行数据库查询,在那里我搜索当前级别低于低库存级别的所有项目.运行查询时,我没有得到任何结果,我不知道为什么.

这是我的查询

public static function getLowStockItemsCache()
{
         dd(\DB::table('items')->where('current_level', '<', 'low_stock_level')->get());
    }
Run Code Online (Sandbox Code Playgroud)

当我死了并转储这个我得到一个空集合.

在我的数据库中,我有以下记录

在此输入图像描述

这两个字段都设置为int(11)

如果我反转查询,我会得到所有13条记录.

我错过了一些小事,因为它让我很困惑,应该很简单.

Bog*_*dan 13

第三个参数是value参数,这意味着在构建查询时将对其进行转义以避免SQL注入.如果要比较两列,则必须通过使用whereRaw传递原始SQL条件来明确告知查询生成器不应处理该部分查询:

\DB::table('items')->whereRaw('current_level < low_stock_level')->get());
Run Code Online (Sandbox Code Playgroud)

或者DB::raw()仅使用值,因此它不会被转义:

\DB::table('items')->where('current_level', '<', DB::raw('low_stock_level'))->get());
Run Code Online (Sandbox Code Playgroud)