В принципе идея понятна. Но в моем случае нужно обойтись наименьшим внесением правок в код, так как весь функционал реализован. Как вариант я рассматривал реализовать в классе User метод getCompany() который в зависимости от роли будет отдавать данные по компании. Если это обычный пользователь то отдаем модель компании, если это фрилансер то компоновать объект stdClass, с аналогичными свойствами модели компании и отдавать его
Артем: По мне с одной таблицей куда проще, я также реализовывал систему сообщений, по началу рассматривал вариант с несколькими таблицами, потом всё таки решил сделать всё на одной, и не раз не пожалел, а в плане вывода диалогов пользователя, допустим на странице диалогов, то достаточно выбрать самые новые сообщения из каждого диалога, и на основе их строить непосредственно вывод, делается это один запросом, и не сказать что он нагруженные, а плане пользования такой таблице все намного проще, заносишь сообщения, удаляешь, никаких сложностей нет
Лучше конечно такие вопросы делать централизовано, через RBAC и фильтры для контроллера, иначе возможно ситуация что придется массу кода переписывать при изменении логики
Данные настройки возможно проводить на VPS,VDS и т.д, как быть с виртуальных хостингом не знаю, скорее всего настроить отправку не получиться. В вашем случае нужно настраивать скрипты сайта на отправку писем посредством SMPT используя сервера Яндекса. Тогда письма автоматом будут иметь DKIM подпись
и ещё где echo, нужно header слать чтобы дать понять что ответ будет в json, но у вас странная реализация, выдергивать из базы данных инфу, и отдавать её в json лучше в действии контроллера, файлы вида тут задействовать не правильно
tursumbekov: если они не должны валидироваться в rules присвойте им save, далее в самом начале действия контроллера, проверьте наличие чекбоксов в $_POST или в $_GET, они скорее всего там будут, а далее по цепочке проверяйте в каком месте они не присваиваются модели