Евгений Лернер, потому что иногда вот эти все ваши sql излишне. потому что иногда дорого даже в памяти обрабатывать десятки тысяч записей что бы получать одну циферку. потому что иногда (не часто) вы лучше понимаете какие данные надо кешировать а какие нет.
Евгений Лернер, и еще раз говорю. Мускул или кто еще по мере сил и возможностей уже создан так что бы хранить максимальное количество данных в памяти. Он не дурак - и понимает что дисковые операции дорого. Проблема в том что данных обычно дохера, а памяти нихрена не хватает. И по этому он старается хранить только часто используемые данные. Но если памяти у него будет больше чем данных - он на диск будет только сбрасывать изменения - без этого никак ибо иначе вы их потеряете, все остальное таскать из ОЗУ. Так что база которая хранит данные в ОЗУ и с SQL уже есть - можете взять что MySQL что PostgreSQL что Oracle что MS SQL.
Соответственно что вы собрались писать?
Евгений Лернер, ну как бы если в редис хранят важные данные - то обычно включают persistence - сброс данных на диск. То есть по факту получается не совсем ОЗУ.
И собственно любая RDBMS не дура - и тоже часто используемые данные запихивает в ОЗУ и старается использовать это ОЗУ по максимуму и на диск лишний раз не лезть. По этому от вашего комментария мне лично понятнее не стало.
runprogr, логика скоуп подразумевает что вы можете модифицировать запрос. Ну и соотвественно никто не мешает вам использовать ограничения по связям как то whereHas
Я бы отсоветовал делать только пока не будет true. Поставьте ограничение в 10 попыток или сколько там. Или есть шанс что через неделю у вас либо очередь будет завалена кучей сообщений либо крон будет пытаться обработать пару десятков тысяч мертвых платежей
dsmoke, ну вы в код то гляньте. Автор же не зря там whereHas поставил. Мне кажется не так много людей возьмет и влупит в запрос whereHas только потому что вторник. Или я наконец встретил программиста телепата?
В любом случае если автор появится он разрешит нашу дилемму.
dsmoke, в изначальном коде достаются Post у которых есть комментарий пользователя. Ну там есть whereHas и создается eager loading но для все комментов, и человек жалуется что в коллекции комментов есть комментарий другого пользователя. Неужто просмотрели?
dsmoke, я бы удовольствием. Но в задаче вроде как выбор Post у которых есть коммент конкретного пользователя. А у вас выберутся все Post и у некоторых просто будет пустая коллекция, неужто вы думаете что я не способен удалить whereHas