You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel中如何关联Tasks表筛选create_task_id≠2的所有Leads数据

解决方案:获取符合条件的Leads数据

基于你的Laravel环境和已定义的关联关系,以下是几种满足需求的查询写法,可根据实际业务场景选择:

场景1:Leads存在关联Tasks,且所有关联Tasks的create_task_id都不等于2

如果需要确保该Lead的所有关联Tasks都符合create_task_id != 2的条件:

$leads = Lead::whereHas('tasks', function ($query) {
    $query->where('create_task_id', '!=', 2);
}, '>=', 1)
->whereDoesntHave('tasks', function ($query) {
    $query->where('create_task_id', 2);
})
->get();

场景2:Leads至少有一个关联Tasks的create_task_id不等于2

只要Lead存在至少一个符合条件的Task即可,不限制其他Task的create_task_id值:

$leads = Lead::whereHas('tasks', function ($query) {
    $query->where('create_task_id', '!=', 2);
})->get();

场景3:包含无任何关联Tasks的Leads(若业务需要)

如果需要把没有关联Tasks的Lead也纳入结果:

$leads = Lead::whereHas('tasks', function ($query) {
    $query->where('create_task_id', '!=', 2);
})->orWhereDoesntHave('tasks')
->get();

说明

  • whereHas:筛选存在指定关联且关联模型满足条件的主模型;
  • whereDoesntHave:筛选不存在满足指定条件的关联模型的主模型;
  • 可根据实际需求调整查询逻辑,比如是否需要包含无关联的Lead、是否要求所有关联Task都符合条件等。

内容的提问来源于stack exchange,提问作者Anurag Ck

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 00:30:57