Php 拉威尔口若悬河,没有得到结果
我有一个laravel项目,我看不出哪里有bug 我有一个产品表,其中有一个“低库存警告”整型字段和一个“单位库存”整型字段 我想得到的产品的单位库存量小于低库存量\u警告量,因此我Php 拉威尔口若悬河,没有得到结果,php,laravel,eloquent,Php,Laravel,Eloquent,我有一个laravel项目,我看不出哪里有bug 我有一个产品表,其中有一个“低库存警告”整型字段和一个“单位库存”整型字段 我想得到的产品的单位库存量小于低库存量\u警告量,因此我 $stock_warning = Product::whereRaw('units_stock <= low_stock_warning') ->select('id') ->get(); 编辑2: 这是数据库结构: -------------- DEVELOPMENT ENVI
$stock_warning = Product::whereRaw('units_stock <= low_stock_warning')
->select('id')
->get();
编辑2:
这是数据库结构:
--------------
DEVELOPMENT ENVIRONMENT
--------------
+-----------------------+------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-----------------------+------------------+------+-----+---------+----------------+
| id | int(11) unsigned | NO | PRI | NULL | auto_increment |
| productdescriptioneng | text | YES | | NULL | |
| units_stock | int(11) | YES | | NULL | |
| low_stock_warning | int(11) | YES | | NULL | |
+-----------------------+------------------+------+-----+---------+----------------+
--------------
PRODUCTION ENVIRONMENT
--------------
+-----------------------+------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-----------------------+------------------+------+-----+---------+----------------+
| id | int(11) unsigned | NO | PRI | NULL | auto_increment |
| productdescriptioneng | text | YES | | NULL | |
| units_stock | int(11) | YES | | NULL | |
| low_stock_warning | int(11) | YES | | NULL | |
+-----------------------+------------------+------+-----+---------+----------------+
发展:
-服务器版本:5.7.21 MySQL社区服务器(GPL)
制作:
-服务器版本:5.7.21-0ubuntu0.16.04.1(Ubuntu)
使用以下方法:
Product::whereColumn('units\u stock','验证数据库中的产品是否未被软删除(deleted\u at不为空);
如果它是软删除的,但您需要它们,请使用以下命令:
Product::whereColumn('units_stock', '<=', 'low_stock_warning')->withTrashed()->pluck('id');
Product::whereColumn('units_stock'),您可以使用whereColumn和或whereColumn来实现
Product::whereColumn('units_stock', '<', 'low_stock_warning')
orWhereColumn('units_stock', '=', 'low_stock_warning')
->pluck('id');
Product::whereColumn('units\u stock','谢谢你的回复,但它不起作用:((我没有投任何反对票)@Klian你不工作到底是什么意思?你有没有发现错误或什么?另外,请显示表中的真实数据。我曾试图添加答案,但@AlexeyMezenin先添加了答案。我之前在比较数据库表中的两列时遇到了同样的问题。应该可以工作:我添加了一个屏幕截图和laravelresult@Klian请出示t他从表和精确列类型中获取真实数据。刚刚用整数测试了此代码,效果很好。请向我们展示产品的结构和数据表
--------------
DEVELOPMENT ENVIRONMENT
--------------
+-----------------------+------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-----------------------+------------------+------+-----+---------+----------------+
| id | int(11) unsigned | NO | PRI | NULL | auto_increment |
| productdescriptioneng | text | YES | | NULL | |
| units_stock | int(11) | YES | | NULL | |
| low_stock_warning | int(11) | YES | | NULL | |
+-----------------------+------------------+------+-----+---------+----------------+
--------------
PRODUCTION ENVIRONMENT
--------------
+-----------------------+------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-----------------------+------------------+------+-----+---------+----------------+
| id | int(11) unsigned | NO | PRI | NULL | auto_increment |
| productdescriptioneng | text | YES | | NULL | |
| units_stock | int(11) | YES | | NULL | |
| low_stock_warning | int(11) | YES | | NULL | |
+-----------------------+------------------+------+-----+---------+----------------+
SHOW ENGINES;
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
| Engine | Support | Comment | Transactions | XA | Savepoints |
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
| MEMORY | YES | Hash based, stored in memory, useful for temporary tables | NO | NO | NO |
| MRG_MYISAM | YES | Collection of identical MyISAM tables | NO | NO | NO |
| CSV | YES | CSV storage engine | NO | NO | NO |
| BLACKHOLE | YES | /dev/null storage engine (anything you write to it disappears) | NO | NO | NO |
| MyISAM | YES | MyISAM storage engine | NO | NO | NO |
| PERFORMANCE_SCHEMA | YES | Performance Schema | NO | NO | NO |
| ARCHIVE | YES | Archive storage engine | NO | NO | NO |
| InnoDB | DEFAULT | Supports transactions, row-level locking, and foreign keys | YES | YES | YES |
| FEDERATED | NO | Federated MySQL storage engine | NULL | NULL | NULL |
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
SHOW ENGINES;
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
| Engine | Support | Comment | Transactions | XA | Savepoints |
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
| MyISAM | YES | MyISAM storage engine | NO | NO | NO |
| MRG_MYISAM | YES | Collection of identical MyISAM tables | NO | NO | NO |
| CSV | YES | CSV storage engine | NO | NO | NO |
| BLACKHOLE | YES | /dev/null storage engine (anything you write to it disappears) | NO | NO | NO |
| PERFORMANCE_SCHEMA | YES | Performance Schema | NO | NO | NO |
| InnoDB | DEFAULT | Supports transactions, row-level locking, and foreign keys | YES | YES | YES |
| ARCHIVE | YES | Archive storage engine | NO | NO | NO |
| MEMORY | YES | Hash based, stored in memory, useful for temporary tables | NO | NO | NO |
| FEDERATED | NO | Federated MySQL storage engine | NULL | NULL | NULL |
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
Product::whereColumn('units_stock', '<=', 'low_stock_warning')->pluck('id')
Product::whereColumn('units_stock', '<=', 'low_stock_warning')->withTrashed()->pluck('id');
Product::whereColumn('units_stock', '<', 'low_stock_warning')
orWhereColumn('units_stock', '=', 'low_stock_warning')
->pluck('id');