Laravel选择查询,从给定日期起30天



我正在尝试构建这个查询,其中我的日期比我的created_at多 30 天。

以下是我拥有和需要的;

->select('orders.invoice_no as invoice_no', 'users.name as customer_name', 'orders.created_at as invoice_date', 'orders.created_at (need to plus 30 days here) as due_date)

基本上,我的created_atdue_date在哪里,我需要在该特定部分增加 30 天,以便我的due_date比我的created_at多 30 天。

我将不胜感激任何和所有的帮助。 干杯!

尝试将 DB::raw 与INTERVAL

一起使用
->select('orders.invoice_no as invoice_no', 'users.name as customer_name', 'orders.created_at as invoice_date', DB::raw('(orders.created_at + INTERVAL 30 DAY) AS due_date'))

或将 selectRaw 与INTERVAL

一起使用
->selectRaw('orders.invoice_no as invoice_no, users.name as customer_name, orders.created_at as invoice_date, (orders.created_at + INTERVAL 30 DAY) AS due_date')
->select('orders.invoice_no as invoice_no', 'users.name as customer_name', 'orders.created_at as invoice_date', DATE_ADD('orders.created_at', INTERVAL 30 DAY) as due_date)

你可以这样做

$duedate = Orders::find(1);
$duedate->created_at->addDays(30);

最新更新