在来自连接表的 Laravel 查询中使用 whereDate

问题描述

我的 sql 数据库中有两个表。两者都有一个 period_from 列作为通用日期格式。两个表都有数周前的数据,我已经加入了我的表,并且正在选择我需要的适当列。

一切都很好,并为我提供了正确的数据,但是一旦我添加 whereDate() 我什么也得不到,一个空数组。我已经尝试了 bogstandard where() 并且还尝试将我的表和我的列作为目标,例如:*.period_from,不知道为什么它在这里没有给我任何结果。

$from = Carbon::Now()->subDays(14);
$to = Carbon::Now();
$order = 'asc';

$data = DB::table('data_source_one as DGA')
      ->join('data_source_two as DLCA','DGA.created_at','=','DLCA.created_at')
      ->where('event_action','Step 1 Loaded: (Loan Details)')
      ->select('event_count','sessions','leads','DGA.period_from','DGA.period_to')
      ->whereDate('DGA.period_from','>=',$from)
      ->whereDate('DGA.period_to','<=',$to)
      ->orderBy('DGA.created_at',$order)
      ->get();

解决方法

你可以这样做:


$from = Carbon::now()->subDays(14);
$to = Carbon::now();
$order = 'asc';

$data = DB::table('data_source_one as DGA')
      ->join('data_source_two as DLCA','DGA.created_at','=','DLCA.created_at')
      ->where('event_action','Step 1 Loaded: (Loan Details)')
      ->select('event_count','sessions','leads','DGA.period_from','DGA.period_to')
      ->where('DGA.period_from','>=',$from)
      ->where('DGA.period_to','<=',$to)
      ->orderBy('DGA.created_at',$order)
      ->get();

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...