1

i want to take input date as a parameter and search between the dates that are given in input.

Theses are the timestamps() provided by laravel to create the two fields as created_at and upated_at.I want to search between these dates that are given in created_at and updated_at but unable to find the data between these dates. Following is the code that i have create

` $startDate = $request->input('created_at');
  $endDate   = $request->input('updated_at');

->select()
->whereBetween('created_at','updated_at',[$startDate,$endDate])
->get();`
4

2 回答 2

1

我认为whereBetween只接受 2 个参数。第一个是列名,第二个是包含要测试的值的数组。检查:https ://laravel.com/docs/5.5/queries#where-clauses

你会想要这样的东西:

->whereBetween('created_at', [$startDate,$endDate])
->whereBetween('updated_at', [$startDate,$endDate])
于 2017-09-08T10:53:45.270 回答
1

错误:

传递给 Illuminate\Database\Query\Builder::whereBetween() 的参数 2 必须是数组类型

是因为的第二个参数whereBetween()是一个数组,而你'updated_at'这里传的是一个字符串。所以把它改成喜欢:

->whereBetween('created_at', [$startDate,$endDate])
->whereBetween('updated_at', [$startDate,$endDate])

参考

于 2017-09-08T10:54:01.647 回答