在laravel包含哪些?

Art*_*hiu 6 php mysql laravel laravel-5

在我的数据库中有4名学生:

1st Student's created_at = 2016-05-12 02:23:51

2nd Student's created_at = 2016-05-27 07:37:45

3rd Student's created_at = 2016-05-29 07:40:29

4th Student's created_at = 2016-05-29 07:50:05

为什么我的代码只返回第一名学生?

$students = Student::select('id as ID_NO', 'fname as Firstname', 'lname as Lastname', 'created_at')
                             ->whereBetween('created_at', 
                              [Carbon::createFromDate(2016, 5, 12)->toDateString(),
                               Carbon::createFromDate(2016, 5, 27)->toDateString()])
Run Code Online (Sandbox Code Playgroud)

第一名和第二名学生应该退回."to"部分包含在WhereBetween或我的代码有什么问题吗?

我需要你的帮助.提前致谢!

Cur*_*ell 40

对于那些最终到这里并希望得到问题答案的人(如果它已更新......"是否在Laravel包含哪些内容?"):

是.

  • 它是包容性的。只需确保提及时间和日期即可。 (3认同)

Rob*_*sen 5

Laravel搜索between,这意味着它将获取2016-05-12 00:00:00和之间的所有行2016-05-27 00:00:00。在处创建了第二个用户2016-05-27 07:37:45,该用户不在范围内,因此Laravel不会获取它。

使用它并尝试是否可行:

$students = Student::select('id as ID_NO', 'fname as Firstname', 'lname as Lastname', 'created_at')
                             ->whereBetween('created_at', 
                              [Carbon::createFromDate(2016, 5, 12)->toDateString(),
                               Carbon::createFromDate(2016, 5, 28)->toDateString()])
Run Code Online (Sandbox Code Playgroud)

希望这有效!


Ali*_*Ali 5

你需要格式化你created_atY-m-d格式。请看变化:

$students = Student::select('id as ID_NO', 'fname as Firstname', 'lname as Lastname', 'created_at')
                                 ->whereBetween(DB::raw('date(created_at)'), 
                                  [Carbon::createFromDate(2016, 5, 12)->toDateString(),
                                   Carbon::createFromDate(2016, 5, 27)->toDateString()])
Run Code Online (Sandbox Code Playgroud)