Active Record только для чтения
Active Record только для чтения
Доброго времени суток! Как можно сделать active record без методов save, update ... Дело в том что, работаю с несколькими базами и с некоторых таблиц одной из баз данные должны только читаться, но быть неизменяемыми. Получается нужен объект который заполняется с базы и имеет возможность связи с другими таблицами. Если кто сталкивался с такой задачей, поделитесь с опытом?
Re: Active Record только для чтения
можно сделать для таких таблиц отдельный класс ActiveRecord, в котором переопределить методы save и т.п. и наследовать модели от этого класса
Re: Active Record только для чтения
Достать данные на отображение, но не прописывать их в форму. Тогда при сохранении не будут обновляться данные, которые нельзя обновлять Логично вроде
Re: Active Record только для чтения
Да, но кто-то может где-то в коде изменить атрибут и сохранить, случайно. Например, я сам) Хотелось бы от это предостеречься уже заранее!
Re: Active Record только для чтения
Во-1 что значит "кто-то где-то в коде"?
Подразумевается пользователь, который работает с фронтом?
Разработчик проекта?
Во-2 как это "изменить атрибут и сохранить, случайно"?
Самое главное это "случайно", такого не бывает.
Предостерегаемся таким образом, что у модели есть набор атрибутов и если написать атрибут с другой модели Yii2 выдаст ошибку, что такого атрибута нет в данной модели. Логично.
Я предложил способ, когда достаются поля на редактирование из конкретной модели, а другие поля на просмотр из других моделей. Выходит что нельзя "случайно" поменять что-то.
- samdark
- Администратор
- Сообщения: 9489
- Зарегистрирован: 2009.04.02, 13:46
- Откуда: Воронеж
- Контактная информация:
Re: Active Record только для чтения
Пройтись по методам на данной странице:Как можно найти все методы, которые хоть как-то могут сделать изменения?
https://www.yiiframework.com/doc/api/2. ... tiverecord
Нравится Yii? Давайте сделаем его лучше!.