php - laravel查询bewteen
问题描述
我想将 sql 查询转换为在 sql 中运行良好的 laravel 查询
select
a.id,
a.assigned_user_name,
a.lead_stage_c,
a.meeting_start_date,
a.call_start_date
from
mgl_report_targets as a
left join
dcalendardate b
on b.datevalue = a.meeting_start_date
left join
dcalendardate c
on c.datevalue = a.call_start_date
where
(
a.lead_stage_c = 'Target-MQL'
)
and
(
b.datevalue between '2020-07-31' and '2020-09-01'
)
or
(
c.datevalue between '2020-07-31' and '2020-09-01'
)
and a.active_status = '1'
and a.lead_stage_c = 'Target-MQL'
在 laravel 我试过
$report_details=DB::table('mgl_report_targets')->where('active_status',1);
$report_details=$report_details->leftjoin('dcalendardate as a','a.datevalue','=',DB::raw("mgl_report_targets.meeting_start_date::date"))->leftjoin('dcalendardate as b','b.datevalue','=',DB::raw("mgl_report_targets.call_start_date::date"));
$report_details=$report_details->where(function ($query) {
return $query->whereBetween('a.datevalue',['2020-07-31','2020-09-01']);
})
->orWhere(function ($query) {
return $query->whereBetween('b.datevalue',['2020-07-31','2020-09-01']);
});
$report_details=$report_details->where('mgl_report_targets.lead_stage_c','=','Target-MQL')->select('mgl_report_targets.id','mgl_report_targets.assigned_user_name','mgl_report_targets.meeting_start_date','mgl_report_targets.call_start_date','mgl_report_targets.lead_stage_c')->get();
但在查询之间没有按预期查询。我做错了什么。
解决方案
推荐阅读
- unity3d - 我无法在 Unity 中实例化游戏对象的预制件
- javascript - 无法从其他脚本中识别的模块
- javascript - 水平滚动轮播导航问题
- flutter - Flutter:如何分离网络和本地数据操作?
- github - GitHub Actions 管道手动运行以进行设置
- javascript - bootstrap-vue popover中的水平居中UL
- perl - 找到正确版本的 Perl 库函数 List::Util
- python - Python:Selenium 抛出错误:尝试谷歌搜索时元素不可交互
- azure-devops - 如何找出给定 Azure DevOps 令牌 (PAT) 属于哪个用户?
- powershell - How do I format the POST or PUT request for a new Repo in Bitbucket API with Powershell?