Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 05.07.2015 16:11:57

Andrei24

Обнулить переменную по дате

Всем привет. Есть задача: в таблице clients есть поле (int) number (не автоинкримент). При добавлении записи в таблицу clients значение поля number должно увеличиться на 1, а если текущая дата 10 июля, то поле должно начать отсчета снова с начала, то есть с 1. И каждый год 10 июля обнуляться.
Собственной сейчас в коде есть:  $number в которой хранится последнее значение поля number из таблицы, если оно пустое то $nubmer = 0. При добавлении записи идет условие $nubmber + 1; Все добавляется хорошо. Потом делаю условие на проверку даты
$date = date('d-m');
if($date = '10-07) {
  $number = 0; // скидываю счетчик
}
Проблема в том что если поставить 10 июля и проверить код, то счетчик сбрасывается постоянно и всегда в поле number пишется значение 1. И еще $number изначально хранит последнее значение поля number, но к примеру если 10 июля не было ни одной записи в таблицу clients, то условие на проверку даты так и не выполнится.
Собственно как сделать вход в условие только 1 раз и учесть момент если 10 июля не было записей в бд, а 11 были

#2 05.07.2015 18:51:10

Re: Обнулить переменную по дате

имеем 2 условия которые должны выполняться одновременно (оператор AND) для начала нового отсчета:
- прошел год
- нового номера еще нет

Прошел ли год можно узнать по разнице между текущей датой и датой начала отсчета.
Нового номера еще нет по условию $number > 0;
После обнуления номера не забудьте обновить дату начала отсчета до 10.07.текущего года.

Не в сети

Подвал раздела