LINUX.ORG.RU

История изменений

Исправление ZuBB, (текущая версия) :

в выхлопе присутствуют только данные с таблицы «person»

role_name как метод не сработает, потому что такого поля нет в таблице, возможно сработает [:role_name]

я вроде как понял что вы хотите сказать. но точно не понял как это написать. не подскажете?

я ничего не понял.

role_name как метод не сработает

почему он метод? здесь

Person.joins(:person_role).select('people.*, person_roles.name AS role_name')

role_name используется как новое имя столбца

UPD: нашел следующий полусолюшен

irb(main):067:0* Person.select('people.*, person_roles.name AS role_name').joins(:person_role).includes(:person_role).limit(1)
  SQL (0.4ms)  SELECT `people`.`id` AS t0_r0, `people`.`name` AS t0_r1, `people`.`phone` AS t0_r2, `people`.`notes` AS t0_r3, `people`.`person_role_id` AS t0_r4, `people`.`created_at` AS t0_r5, `people`.`updated_at` AS t0_r6, `person_roles`.`id` AS t1_r0, `person_roles`.`name` AS t1_r1, `person_roles`.`created_at` AS t1_r2, `person_roles`.`updated_at` AS t1_r3 FROM `people` INNER JOIN `person_roles` ON `person_roles`.`id` = `people`.`person_role_id` LIMIT 1
=> [#<Person id: 1, name: "марічка", phone: "552266", notes: "(.)(.)", person_role_id: 1, created_at: "2013-01-25 20:06:35", updated_at: "2013-01-26 21:21:33">]

Исправление ZuBB, :

в выхлопе присутствуют только данные с таблицы «person»

role_name как метод не сработает, потому что такого поля нет в таблице, возможно сработает [:role_name]

я вроде как понял что вы хотите сказать. но точно не понял как это написать. не подскажете?

я ничего не понял.

role_name как метод не сработает

почему он метод? здесь

Person.joins(:person_role).select('people.*, person_roles.name AS role_name')

role_name используется как новое имя столбца

UPD: нашел следующий полусолюшен

irb(main):067:0* Person.select('people.*, person_roles.*').joins(:person_role).includes(:person_role).limit(1)
  SQL (0.4ms)  SELECT `people`.`id` AS t0_r0, `people`.`name` AS t0_r1, `people`.`phone` AS t0_r2, `people`.`notes` AS t0_r3, `people`.`person_role_id` AS t0_r4, `people`.`created_at` AS t0_r5, `people`.`updated_at` AS t0_r6, `person_roles`.`id` AS t1_r0, `person_roles`.`name` AS t1_r1, `person_roles`.`created_at` AS t1_r2, `person_roles`.`updated_at` AS t1_r3 FROM `people` INNER JOIN `person_roles` ON `person_roles`.`id` = `people`.`person_role_id` LIMIT 1
=> [#<Person id: 1, name: "марічка", phone: "552266", notes: "(.)(.)", person_role_id: 1, created_at: "2013-01-25 20:06:35", updated_at: "2013-01-26 21:21:33">]

Исходная версия ZuBB, :

в выхлопе присутствуют только данные с таблицы «person»

role_name как метод не сработает, потому что такого поля нет в таблице, возможно сработает [:role_name]

я вроде как понял что вы хотите сказать. но точно не понял как это написать. не подскажете?

я ничего не понял.

role_name как метод не сработает

почему он метод? здесь

Person.joins(:person_role).select('people.*, person_roles.name AS role_name')

role_name используется как новое имя столбца

UPD: нашел следующий полусолюшен

irb(main):067:0* Person.select('people.*, person_roles.*').joins(:person_role).includes(:person_role).limit(1)
  SQL (0.4ms)  SELECT `people`.`id` AS t0_r0, `people`.`name` AS t0_r1, `people`.`phone` AS t0_r2, `people`.`notes` AS t0_r3, `people`.`person_role_id` AS t0_r4, `people`.`created_at` AS t0_r5, `people`.`updated_at` AS t0_r6, `person_roles`.`id` AS t1_r0, `person_roles`.`name` AS t1_r1, `person_roles`.`created_at` AS t1_r2, `person_roles`.`updated_at` AS t1_r3 FROM `people` INNER JOIN `person_roles` ON `person_roles`.`id` = `people`.`person_role_id` LIMIT 1
=> [#<Person id: 1, name: "марічка", phone: "552266", notes: "(.)(.)", person_role_id: 1, created_at: "2013-01-25 20:06:35", updated_at: "2013-01-26 21:21:33">]