如何计算使用日期的次数?

时间:2013-10-07 02:19:15

标签: php laravel laravel-4

如何使用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();

2 个答案:

答案 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)那样在任何地方调用它或者作为模型顶部更复杂查询的一部分。