我有两个名为 created_at 和 updated_at(timestamps) 的字段,我想在我的 where 子句中的这些日期之间进行搜索
i have two fields named as created_at and updated_at(timestamps) and i want to search between these dates in my where clause
我想将输入日期作为参数并在输入中给出的日期之间进行搜索。
这些是 laravel 提供的 timestamps(),用于创建 created_at 和 upated_at.I 这两个字段,希望在 created_at 中给出的这些日期之间进行搜索和 updated_at 但无法找到这些日期之间的数据。
以下是我创建的代码
` $startDate = $request->input('created_at');
$endDate = $request->input('updated_at');
->select()
->whereBetween('created_at','updated_at',[$startDate,$endDate])
->get();`
我认为whereBetween
只接受2个参数。第一个是列名,第二个是包含要测试的值的数组。检查:https://laravel.com/docs/5.5/queries#where-clauses
你会想要这样的东西:
->whereBetween('created_at', [$startDate,$endDate])
->whereBetween('updated_at', [$startDate,$endDate])
错误:
Argument 2 passed to Illuminate\Database\Query\Builder::whereBetween()
must be of the type array
是因为whereBetween()
的第二个参数是一个数组,而你这里传的是一个字符串'updated_at'
。所以改成喜欢:
->whereBetween('created_at', [$startDate,$endDate])
->whereBetween('updated_at', [$startDate,$endDate])
我想将输入日期作为参数并在输入中给出的日期之间进行搜索。
这些是 laravel 提供的 timestamps(),用于创建 created_at 和 upated_at.I 这两个字段,希望在 created_at 中给出的这些日期之间进行搜索和 updated_at 但无法找到这些日期之间的数据。 以下是我创建的代码
` $startDate = $request->input('created_at');
$endDate = $request->input('updated_at');
->select()
->whereBetween('created_at','updated_at',[$startDate,$endDate])
->get();`
我认为whereBetween
只接受2个参数。第一个是列名,第二个是包含要测试的值的数组。检查:https://laravel.com/docs/5.5/queries#where-clauses
你会想要这样的东西:
->whereBetween('created_at', [$startDate,$endDate])
->whereBetween('updated_at', [$startDate,$endDate])
错误:
Argument 2 passed to Illuminate\Database\Query\Builder::whereBetween() must be of the type array
是因为whereBetween()
的第二个参数是一个数组,而你这里传的是一个字符串'updated_at'
。所以改成喜欢:
->whereBetween('created_at', [$startDate,$endDate])
->whereBetween('updated_at', [$startDate,$endDate])