Может ли модель ссылаться на представление в базе данных вместо таблицы в CakePHP? - PullRequest
5 голосов
/ 04 июня 2009

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

Ответы [ 6 ]

7 голосов
/ 13 мая 2011

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

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

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

1 голос
/ 17 июня 2009

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

1 голос
/ 05 июня 2009

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

1 голос
/ 04 июня 2009

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

0 голосов
/ 23 октября 2009

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

0 голосов
/ 04 июня 2009

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...