Вы, вероятно, не читали мой ответ в своем другом вопросе:))
У меня есть 3 таблицы, которые содержат информацию о пользователе , одну для студентов, одну для учителей иодин для администраторов.Они никак не связаны.Я не хочу создавать информационную панель для администраторов, где отображается список учеников и учителей.
Проблема в том, что вы разделяете похожие данные на 3 разные таблицы, в данном случае, информацию пользователя,Поэтому, когда вы пытаетесь управлять этими данными, вы попадаете в кирпичную стену: потому что вы пропускаете отношения, когда разделяете их в 3 таблицы.
Единственный способ, который я нашел для достижения этой цели, это использовать $использует переменную в контроллере Администраторы.
Вы неправильно поняли насчет контроллера.Каждый контроллер управляет потоком данных конкретной модели (и связанных моделей).Это не значит, что вы должны оставаться в административном контроллере, чтобы выполнять административные действия. Какая модель, которой вы хотите манипулировать, определяет, в каком контроллере вы должны быть.
Однако во многих местах я читал, что это плохая практика.
Теперь о главном вопросе: использование $ использует красный знак того, что вы делаете что-то не так: вам нужен доступ к модели, которая не имеет ничего общего с вашим текущим контроллером.Теперь в программировании всегда есть исключения, иногда нам нужен доступ к этой модели.Вот где приходит loadModel. Потому что это должно быть редко.Если вам очень нужна модель, вам нужно будет часто вызывать loadModel, что громоздко, для чего и используется $, но тогда это означает, что что-то не так с вашим дизайном приложения:))
Таким образом, вы можете сказать, что использование использования $ является признаком неверного решения (в дизайне БД или в структуре приложения);и так часто использует loadModel.
Редактировать: Any solutions?
Я дал одно решение в вашем другом вопросе.Но если вы хотите, чтобы все они были в одном месте, вы можете иметь 1 таблицу пользователей с информацией о пользователях.Каждый пользователь может иметь одно поле «Студент», «Учитель», «Администратор» и поле «группа», чтобы решить, к какой группе относится пользователь.Третье решение - использование $ использует.Его влияние на производительность не будет проблемой на самом деле.Но это будет довольно запутанным, когда вы будете развивать свое приложение дальше.Это то, что вам нужно беспокоиться.Например, я могу сказать, что если вы используете Auth, вам нужно будет немного его настроить, чтобы он работал с 3 моделями.Если вы используете таблицу пользователей, это будет намного проще.