将数据库中的动态值传递给 Carbon::now()->subMinutes()
Pass dynamic value from database to Carbon::now()->subMinutes()
我在数据库中有一个 minutes
整数列,有什么方法可以使下面的查询在没有额外查询的情况下工作? Laravel 8 如果重要的话。
Contest::latest()->where('created_at','>', Carbon::now()->subMinutes('minutes')->toDateTimeString())->paginate(4)
;
回复ErrorException: A non-numeric value encountered in file
通过查看文档,我可以看到方法 subMinutes()
接受整数作为参数,而不是字符串。也许先尝试修复那个。当我在本地尝试 Carbon::now()->subMinutes('minutes')->toDateTimeString()
运行 时,我得到了类似的错误:A non-numeric value encountered.
碳的加减法信息can be found here
如果没有额外的查询,您将无法执行此操作。 Carbon 是一个 PHP 库,不能在 SQL 查询中使用。但是 SQL 确实为您需要做的事情提供了本机功能:
Contest::latest()
->where('created_at','>', DB::raw('NOW()-INTERVAL minutes MINUTE'))->paginate(4)
如果不使用 MySQL.
,您可能需要将 NOW()
替换为 DBMS 提供的任何内容,这通常应该有效
我在数据库中有一个 minutes
整数列,有什么方法可以使下面的查询在没有额外查询的情况下工作? Laravel 8 如果重要的话。
Contest::latest()->where('created_at','>', Carbon::now()->subMinutes('minutes')->toDateTimeString())->paginate(4)
;
回复ErrorException: A non-numeric value encountered in file
通过查看文档,我可以看到方法 subMinutes()
接受整数作为参数,而不是字符串。也许先尝试修复那个。当我在本地尝试 Carbon::now()->subMinutes('minutes')->toDateTimeString()
运行 时,我得到了类似的错误:A non-numeric value encountered.
碳的加减法信息can be found here
如果没有额外的查询,您将无法执行此操作。 Carbon 是一个 PHP 库,不能在 SQL 查询中使用。但是 SQL 确实为您需要做的事情提供了本机功能:
Contest::latest()
->where('created_at','>', DB::raw('NOW()-INTERVAL minutes MINUTE'))->paginate(4)
如果不使用 MySQL.
,您可能需要将NOW()
替换为 DBMS 提供的任何内容,这通常应该有效