Может ли модель ссылаться на представление в базе данных вместо таблицы в CakePHP?

Мне было интересно, можно ли создать представление в базе данных, а затем связать модель с ней?

Solutions Collecting From Web of "Может ли модель ссылаться на представление в базе данных вместо таблицы в CakePHP?"

Да, это возможно.

Создайте представление так, как если бы это была таблица, и убедитесь, что он придерживается всех правил торта для создания таблиц . Затем вы можете создать модель, контроллер и представление, как и в любой другой таблице. Он даже появляется в приложении для пирога, как обычная таблица.

Одна из приятных вещей, которые я обнаружил, – это когда вы занимаетесь разбиением на страницы / сортировкой по очень нормализованной базе данных, торт становится практически невозможным. Таким образом, вы можете объединить все свои сложные объединения в один запрос к базе данных, который затем хорошо вписывается в мир разбивки на страницы или сортировку на одном столе, который работает как шарм.

Невозможно insert в представление (которое я знаю, но вы знаете, что они говорят о допущениях), поэтому при условии, что вы просто хотите прочитать данные из представления и вставить, используя модель (модели), связанную с фактической таблицей (ы), тогда он должен работать.

Если вы используете свойство var $ useTable в Модели, вы должны иметь возможность использовать представление. Я не пробовал, но я уверен, что это сработает, но, конечно, вы не можете вставить в него.

Да, это возможно. И очень полезно, иногда

Я не знаком с CakePHP, но в целом такие рамки должны рассматривать таблицы и представления как идентичные, поэтому я не понимаю, почему это не сработает.

В Postgresql можно сделать вставку в виде таблицы просмотра и не вставки. Единственное реальное различие заключается в том, что таблица содержит его данные, а просмотр выбирает его. Тем не менее, вы даже можете сделать таблицу, чтобы выбрать часть ее видимых данных из других таблиц. Тем не менее, мне кажется, что торт имеет проблемы с рассмотрением взглядов, как таблицы, но это произвольное решение, а не необходимость.