Php 我想选择1和3之间或7和10之间的某一行什么';mysql和laravel中对此的确切查询是什么?

Php 我想选择1和3之间或7和10之间的某一行什么';mysql和laravel中对此的确切查询是什么?,php,mysql,laravel,Php,Mysql,Laravel,这是我的sql,我试过了,但出现了错误。提前感谢您的帮助您可以在两个之间使用。。。和…使用或查询: SELECT * from jobs where created_at BETWEEN IN('1' and '4', '7' and '10'); 您需要在以下语句之间进行分隔: SELECT * FROM jobs WHERE created_at BETWEEN 1 AND 4 OR created_at BETWEEN 7 AND 10 对于Laravel的查询生成器: SEL

这是我的sql,我试过了,但出现了错误。提前感谢您的帮助

您可以在两个
之间使用。。。和…
使用
查询:

SELECT * from jobs where created_at BETWEEN IN('1' and '4', '7' and '10'); 

您需要在以下语句之间进行分隔:

SELECT *
FROM jobs
WHERE created_at BETWEEN 1 AND 4
   OR created_at BETWEEN 7 AND 10
对于Laravel的查询生成器:

SELECT * from jobs where created_at BETWEEN 1 and 4 OR created_at BETWEEN 7 AND 10;

在Laravel中,您可以使用
whereBetween
或whereBetween()
方法:

DB::table('jobs')->whereBetween('created_at', [1,4])
    ->orWhereBetween('created_at', [7,10])
    ->get();

如果您指的是[1,3,7,10]个月,请使用:

我想你的模特是Job

SELECT * 
FROM jobs 
WHERE created_at BETWEEN 1 and 4 or created_at  BETWEEN 7 and 10;
Job::where(函数($q){
$q->whereMonth('created_at','>=',1)
->whereMonth('created_at','=',7)

->whereMonth('created_at','
其中created_at 1和4之间,或created_at 7和10之间)应该这样做。这里有类似的问题:
SELECT * 
FROM jobs 
WHERE created_at BETWEEN 1 and 4 or created_at  BETWEEN 7 and 10;
Job::where(function($q){
    $q->whereMonth('created_at', '>=', 1)
      ->whereMonth('created_at', '<=', 3);
})->orWhere(function($q){
    $q->whereMonth('created_at', '>=', 7)
      ->whereMonth('created_at', '<=', 10);
})->get();