ORM

#
Re: ORM
Можно ли получить id модуля с name='Информационные системы' через объект 'Test_Module'?
т.е. проще всего объяснить запросом, это выглядит так
"SELECT Test_Modules.id
FROM Test_Modules, modules
WHERE modules='Информационные системы'
AND Test_Modules.module_id=modules.id";

Справился след. образом

id= Core_ORM::factory('Test_Module')->getByModule_id(Core_ORM::factory('module')->getByName('Информационные системы')->id)->id;

Модератор
#
Re: ORM
mpdule наш стандартный модуль? Он просто не имеет связи с Вашими модулями, поэтому через связь не получится.
#
Re: ORM
Да, это ваш, стандартный) Напишите, пожалуйста, способ получения id в случае если бы модель модуля 'module' имела связь с моей моделью, как я понимаю через has many
Модератор
#
Re: ORM
31gorod,
так если через hasMany, то Вы получите много объектов, а не один определенный. У Вас один модуль может иметь много Test_Module?
#
Re: ORM
Ошибся, связь один-к-одному т.е has one

Назрел еще вопрос. Необходимо передать в датасет все объекты модели 'module', id которых имеются в таблице 'test_modules'
запросом выглядело бы примерно так:
"SELECT *
FROM modules, test_modules
WHERE modules.id=test_modules.module_id
"
Подскажите, пожалуйста, рациональное решение
Модератор
#
Re: ORM
31gorod писал(а):
Напишите, пожалуйста, способ получения id в случае если бы модель модуля 'module' имела связь с моей моделью

Очень просто:
Core_Entity::factory('Module', 123)->Test_Module->id
или
Core_Entity::factory('Module', 123)->test_module_id


31gorod писал(а):
Назрел еще вопрос. Необходимо передать в датасет все объекты модели 'module', id которых имеются в таблице 'test_modules'

Датасету указываете дополнительные условия, в /admin/ сотни примеров:
$oAdmin_Form_Dataset->addCondition(
   array('where' =>
      array('forum_category_id', '=', $oForum_Category->id)
   )
)
->addCondition(
   array('select' =>
      array('forum_category_siteuser_groups.*', array('siteuser_groups.name', 'adminSiteuserGroupName'), array('siteuser_groups.description', 'adminSiteuserGroupDescription'))
   )
)
->addCondition(
   array('join' =>
      array('siteuser_groups', 'siteuser_groups.id', '=', 'forum_category_siteuser_groups.siteuser_group_id')
   )
);

индексом идет имя метода в queryBuilder, значением массив с параметрами метода.
#
Re: ORM
Объясните, пожалуйста, реализацию следующего примера:
Используя объект
$testtab_edit=Core_Entity::factory('test_tab_edit');Core_Entity::factory('fieldmanager_tab_edit')
Внести в таблицу все данные полученные какой-то выборкой из другой модели
Аналог в SQL:
INSERT INTO <название таблицы> SELECT <имя столбца>,... FROM <название таблицы>
Модератор
#
Re: ORM
31gorod,
установить св-вам значения и вызвать save() у модели.
#
Re: ORM
я имел ввиду случай с множественной выборкой
Модератор
#
Re: ORM
31gorod, в цикле создать модели, установить св-ва, вызвать save() для каждой модели.
Авторизация