php 交集查询

// 时间 
$shiJianKJ = ['开始时间','结束时间'];
$query->where(function($query) use($shiJianKJ){
    // 开始时间小于查询开始时间
    // 结束时间大于查询结束时间
    $query->orWhere(function($query) use($shiJianKJ){
        $query->where('start_time', '<', $shiJianKJ[0]);
        $query->where('end_time', '>', $shiJianKJ[1]);
    });
    // 开始时间大于查询开始时间
    // 结束时间小于查询结束时间
    $query->orWhere(function($query) use($shiJianKJ){
        $query->where('start_time', '>', $shiJianKJ[0]);
        $query->where('start_time', '<', $shiJianKJ[1]);
    });
    // 结束时间大于查询开始时间
    // 结束时间小于查询结束时间
    $query->orWhere(function($query) use($shiJianKJ){
        $query->where('end_time', '>', $shiJianKJ[0]);
        $query->where('end_time', '<', $shiJianKJ[1]);
    });
});

猜你喜欢

转载自blog.csdn.net/qq_29755359/article/details/80525868