如何使用php和mysql计算表格列中日期的次数?
我试图找出一种方法来限制可以用于行的日期数量
例如:
1 1 0000-00-00 2 yes 2013-10-06 20:07:17 2013-10-06 20:07:17
2 1 0000-00-00 4 yes 1 2013-10-06 20:19:31 2013-10-06 20:19:31
3 1 2013-10-15 2 yes 1 2013-10-06 20:22:14 2013-10-06 20:22:14
4 1 2013-10-30 3 yes 1 2013-10-06 21:07:28 2013-10-06 21:07:28
如果2013-10-30已被使用5次,我想返回一个错误。
我正在使用Laravel 4并使用模型保存数据
if (<<<<code goes here???>>>>>){
return Redirect::to('')->withErrors($full)->withInput();
}
$schedule->userID = $user->id;
$schedule->date = $dateFormat;
$schedule->block = $input['timeslot'];
$schedule->status = "1";
$schedule->save();
答案 0 :(得分:1)
您想要的sql语句是
SELECT COUNT (id) FROM table WHERE DATE(date_field) = :date
不要使用应该用于计算受影响行的rowCount(比如删除或更新)
答案 1 :(得分:1)
您也可以这样做:
Schedule::where('timeslot', '=', $date)->count()
此外,如果在这里和那里使用了那段代码,您可以将其创建为query scope,这样您就可以像调度:: countForTimeslot($ date)那样在任何地方调用它或者作为模型顶部更复杂查询的一部分。