Список форумов Cake-PHP.ru Cake-PHP.ru
Форум программистов CakePHP
(на сайт)
 
 Watched TopicsWatched Topics   FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 

Общий вопрос CakePHP & PostgreSQL - модель данных

 
Начать новую тему   Ответить на тему    Список форумов Cake-PHP.ru -> Общий
Предыдущая тема :: Следующая тема  
Автор Сообщение
Pilat

цитировать



Зарегистрирован: 21 Янв 2008 13:43:58
Сообщения: 4

СообщениеДобавлено: 21 Янв 2008 13:47:23    Заголовок сообщения: Общий вопрос CakePHP & PostgreSQL - модель данных Ответить с цитатой

Я использую PostgreSQL. Отличие от MySQL - возможность описать ссылочную целостность на уровне СУБД. Вопрос: можно ли избежать дублирование этого описания в модели CakePHP ?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
evilbloodydemon

цитировать



Зарегистрирован: 11 Окт 2007 20:32:19
Сообщения: 125

СообщениеДобавлено: 21 Янв 2008 14:21:00    Заголовок сообщения: Ответить с цитатой

нет. в кэйке описания связей не для ссылочной целостности, а для того чтобы модели знали, какие данные им брать из других моделей.
_________________
поздняк метаться - ракеты в воздухе
jabber-конференция по CakePHP - xmpp:cakephp@conference.jabber.ru
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Pilat

цитировать



Зарегистрирован: 21 Янв 2008 13:43:58
Сообщения: 4

СообщениеДобавлено: 21 Янв 2008 14:27:49    Заголовок сообщения: Ответить с цитатой

Ну как же. Каскадное удаление на этом построено, например.
Да и какая разница для чего, если это описание полностью дублирует ссылочную целостность?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
evilbloodydemon

цитировать



Зарегистрирован: 11 Окт 2007 20:32:19
Сообщения: 125

СообщениеДобавлено: 21 Янв 2008 14:55:33    Заголовок сообщения: Ответить с цитатой

ну да, каскадное удаление. его можно не использовать.
а вот описания в моделях ссылочной целостностью заменить нельзя. потому что, исходя из вашей логики, если в базе данных есть ссылочная целостность, то можно select'ы без join'ов писать.
_________________
поздняк метаться - ракеты в воздухе
jabber-конференция по CakePHP - xmpp:cakephp@conference.jabber.ru
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Pilat

цитировать



Зарегистрирован: 21 Янв 2008 13:43:58
Сообщения: 4

СообщениеДобавлено: 21 Янв 2008 15:25:35    Заголовок сообщения: Ответить с цитатой

А одно и то же мы понимаем под ссылочной целостностью? Я под этим понимаю ограничения, накладываемые foreign keys. Как можно писать тогда селекты без join?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
evilbloodydemon

цитировать



Зарегистрирован: 11 Окт 2007 20:32:19
Сообщения: 125

СообщениеДобавлено: 21 Янв 2008 15:38:21    Заголовок сообщения: Ответить с цитатой

хорошо, начнем сначала.
термины:

"описания в модели CakePHP" - hasOne, belongsTo, hasMany, hasAndBelongsToMany - нужны для ассоциации данных, то есть какие данные выбирать из бд еще вместе с данными основной модели.

"Каскадное удаление" - del($id, $cascade) - метод модели, удаляющий запись и (если $cascade==true) ассоциированные записи.

я понимаю вопрос следующим образом: если в бд задана ссылочная целостность, то можно ли не писать hasOne и тд.
мой ответ: нет, потому что "описания в модели CakePHP" нужны для _выборки_ данных, а "Каскадное удаление" - это лишь следствие.

п.с. но если выборка не нужна, то можно и не писать =)
_________________
поздняк метаться - ракеты в воздухе
jabber-конференция по CakePHP - xmpp:cakephp@conference.jabber.ru
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Pilat

цитировать



Зарегистрирован: 21 Янв 2008 13:43:58
Сообщения: 4

СообщениеДобавлено: 21 Янв 2008 16:35:15    Заголовок сообщения: Ответить с цитатой

evilbloodydemon, я понял что Вы имеете ввиду. Действительно, hasOne или hasMany из схемы базы корректно извлечь не получится. Но что-то же в качестве шаблона получить можно.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Имя
Сообщение

Смайлики
Very Happy Smile Sad Surprised
Shocked Confused Cool Laughing
Mad Razz Embarassed Crying or Very sad
Evil or Very Mad Twisted Evil Rolling Eyes Wink
Exclamation Question Idea Arrow
Дополнительные смайлики

 
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов Cake-PHP.ru -> Общий Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы можете начинать темы
Вы можете отвечать на сообщения
Вы можете редактировать свои сообщения
Вы можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2005 phpBB Group
Русская поддержка phpBB

Рейтинг@Mail.ru