![]() |
Модераторы: korob2001, ginnie |
![]() ![]() ![]() |
|
shootnix |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 108 Регистрация: 3.9.2005 Где: Казахстан Репутация: нет Всего: 2 |
Всем привет. У меня не столько вопрос, сколько просьба к тем, кто хорошо знаком с DBIx::Class — помогите понять суть =) Третий день испещряю взором всяческие мануалы и перлдоки, но, то ли у меня какой-то затык, то ли в текстах этих ничего по сществу не отыскивается.
Значит, короче ![]() В качестве примера могу привести вот такую базу:
Было бы просто чудно узнать, как, скажем, с помощью DBIx::Class выбрать из этих двух таблиц данные о продукте и хранимом типе этого продукта. Грубо говоря, запрос
Представить средствами DBIx::Class. Очень буду благодарен. |
||||
|
|||||
KSURi |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 887 Регистрация: 8.6.2006 Где: Russia Репутация: 2 Всего: 27 |
По самой сути: довольно общий вопрос. Если не уточнять, то проще найти в инете какую-нибудь объемную статью типа "введение в ORM технологии".
По сложным запросам: такие выборки делаются с помощью join. Если еще не читали соответствующую страницу документации, то вот она: http://search.cpan.org/~ribasushi/DBIx-Cla...ual/Joining.pod. Пример у вас не очень удачный имхо. Вы пытаетесь загрузить непосредственно данные, тогда как должны, по идее, загружать объекты. А данные получать уже из них, соответствующими методами. Т.е. примерно вот так это должно выглядеть:
-------------------- Died at Life.pl line 21 |
|||
|
||||
shootnix |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 108 Регистрация: 3.9.2005 Где: Казахстан Репутация: нет Всего: 2 |
> Вы пытаетесь загрузить непосредственно данные, тогда как должны, по идее, загружать объекты.
Скорее, ни то, ни другое ![]() Вот что-то вроде этого. Ваш пример натолкнул на мысль, спасибо. Как я понимаю, выборка здесь происходит путем объединения двух запросов? А если мне нужно указать конкретные поля таблицы? |
|||
|
||||
KSURi |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 887 Регистрация: 8.6.2006 Где: Russia Репутация: 2 Всего: 27 |
Запрос один,объединение логическое. Это на всякий случай уточняю.
Можно и конкретные поля указать. Просто усложните соответствующим образом аргумент join. Для конкретностей обратитесь по ссылке выше. -------------------- Died at Life.pl line 21 |
|||
|
||||
shootnix |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 108 Регистрация: 3.9.2005 Где: Казахстан Репутация: нет Всего: 2 |
Спасибо, немного стало понятнее.
Как насчет has_many, belongs_to и many_to_many? Как они работают? Я имею ввиду, какие аргументы там передаются? Документацию читал, не понял ;-) |
|||
|
||||
gcc |
|
|||
![]() Агент алкомафии ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2691 Регистрация: 25.4.2008 Где: %&й Репутация: 2 Всего: 17 |
может есть возможность такой запрос можно написать? (мне он нужен) |
|||
|
||||
KSURi |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 887 Регистрация: 8.6.2006 Где: Russia Репутация: 2 Всего: 27 |
gcc, http://search.cpan.org/~ribasushi/DBIx-Cla...om_ResultSource
shootnix, врядли я вам объясню лучше, чем написано в оригинале. Тем более, что я не пользовался этим модулем) -------------------- Died at Life.pl line 21 |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Perl: CGI программирование" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Perl: разработка для Web | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |