вставить столбец с тем же значением, что и первичный ключ - PullRequest
0 голосов
/ 06 октября 2011

возможно в Rails, чтобы вставить строку и присвоить значение id конкретному столбцу, например, если у меня есть таблица, в которой есть столбцы ID и LINK, где LINK - это ссылка на ту же таблицу:

ID | LINK
1  |   1
2  |   1
3  |   1

ВставкаСтолбцы 2 и 3 просты, но есть ли способ вставить столбец 1 с одним оператором INSERT?

Возможно ли это с помощью синтаксиса rails или мне нужен пользовательский SQL (на PostgreSQL)?

[Конечно, это можно сделать с помощью INSERT / UPDATE, но мне нужно отключить обновления для этой таблицы]

tx Zaharije

1 Ответ

0 голосов
/ 06 октября 2011

Это самосоединяющийся стол. Вам не нужно писать SQL самостоятельно. Просто определите это отношение в модели следующим образом:

class Employee < ActiveRecord::Base
  has_many :subordinates, :class_name => "Employee"
  belongs_to :manager, :class_name => "Employee",
    :foreign_key => "manager_id"  # or what you call LINK
end

Кроме того, ссылка, вероятно, не является хорошим именем столбца, попробуйте выбрать что-нибудь более описательное, если можете.

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