我想比较数据库的两个值。是否可以使用“where”方法来完成此操作?例如,“tnx_time”是一个数据库值,“value(duration)”是另一个数据库值。但我现在无法访问“where”函数第三个字段的数据库值。有人知道怎么修吗?
$trnxs = Transaction::where('tnx_time', '<', date("Y-m-d", strtotime( value(duration) )) )
soat7uwm1#
尝试先存储该值,以便可以正确地比较它。
$duration = value(duration); $date = date("Y-m-d", strtotime($duration)); $trnxs = Transaction::where('tnx_time', '<', $date);
hsgswve42#
您可以在“where”子句中使用回调来创建子查询,如下所示(可能需要一些更改)
$trnxs = Transaction::where('tnx_time', '<', function ($query) { $query->selectRaw('date("Y-m-d", strtotime(value(duration)))'); })->get();
2条答案
按热度按时间soat7uwm1#
尝试先存储该值,以便可以正确地比较它。
hsgswve42#
您可以在“where”子句中使用回调来创建子查询,如下所示(可能需要一些更改)