Это хороший пример проблемы, которую можно решить либо путем вычисления значений, либо путем их хранения в базе данных.Я не думаю, что вы хотите хранить «количество» или «доступность» в структуре базы данных.
В соответствии с моими комментариями вы должны рассмотреть возможность сохранения вашей модели "Тележки" (которую я бы переименовал в "CartTypes") в памяти.Единственная причина, по которой я могу сохранить ее в таблице базы данных, заключается в том, что вам нужно часто обновлять характеристики - например, если корзины часто ломаются и требуют исправления, вам необходимо изменить общее количество доступных корзин дляданный тип.
В любом случае у вас будет атрибут «total_available» для вашей модели CartType.Я бы точно не хранил атрибут «количество».Вместо этого вам нужно просмотреть свои заказы, определить cart_type, start_date и end_date, подсчитать количество заказов для определенного cart_type на конкретную дату и вычесть это число из total_available, чтобы определить доступность.
Способ написания запроса для этого зависит от вашей схемы и отношений.Если вы можете быть более конкретным, то я могу предоставить конкретный запрос.