НО! иногда есть такое расширение для тестов, в докере есть, на локальной машине нет, ставите на локально машине и не ставится — делаете флаг и все поставилось...
future coder, нет до конца понимания как у вас там все устроено
смотрите, чтобы или джойнились связи (какие бы у вас они не были) либо жадная загрузка
помогло бы ответить вам код сущностей товара и категории
приведенный метод не понятно в какой сущности, выбираете вы продукты, почему запросы к кактегории? не понятно ничего
показывайте код или пользуйтесь советом — все что дергает ленивый геттер джойнить в запросе
Должны ли данные при каждом новом обновлении перемешиваться снова и отличаться от предыдущего результата?
Ну это зависит от вашего задания, должны или нет
На вероятность и ее постоянство может влиять некоторый вес.
Ну например значение 'Maks' должно выпадать в 4 из 10 случаях, а 'Владимир' в 3 из 10
Тогда если все сделать верно, то можно сделать так чтобы с равной вероятностью выпадали нужные значения, тогда у этих значений должна быть колонка с этим весом.
Инкапсуляцию можно нарушить сделав приватную переменную и тут же определить методы его изменения и чтения :):) то есть добавили кода, добавили «инкапсуляцию», а все как было так и осталось — можем менять переменную класса... оксюморон, термины добавились, а толку нет
Потому предлагаю посмотреть на инкапсуляцию через закон Деметры, и помните — геттер нарушаю инкапсуляцию также как и сеттеры
0Bannon, я вам больше скажу: и работая в PHP можно выстроить свои требования и найти работу таким образом, чтобы не сталкиваться с говном типа битрикса и ВП — это как раз мой пример
https://github.com/liip/LiipImagineBundle#use-as-a...
Мне кажется вы используется внутрянку библиотеки, которая делает не всю работу, нужную вам