Получение записей с использованием DataMapper - PullRequest
0 голосов
/ 31 марта 2011

Просто использую DataMapper в первый раз.Я создал таблицу в базе данных MySQL и подключаюсь к ней.Я определил следующее отображение:

class Track_Scan
    include DataMapper::Resource

    property :item_id,                  Integer
    property :current_station_id,       Integer
    property :next_station_id,          Integer
end

Возвращает правильное число элементов - например, если в БД пять записей для данного идентификатора, Track_Scan.all(:item_id => my_id) дастгруппа из пяти объектов - но когда я вызываю каждый на этом, я вижу один и тот же объект пять раз:

#<Track_Scan:0x7fcbcfca59c0>
#<Track_Scan:0x7fcbcfca59c0>
#<Track_Scan:0x7fcbcfca59c0>
#<Track_Scan:0x7fcbcfca59c0>
#<Track_Scan:0x7fcbcfca59c0>

, а не пять разных объектов с разными значениями в current_station_id и next_station_id, как они на самом деледелать в таблице.

Любая помощь?

1 Ответ

1 голос
/ 31 марта 2011

В вашей модели отсутствует ключ.Если вы хотите использовать составной ключ, вам нужно сделать это:

class Track_Scan
  include DataMapper::Resource

  property :item_id,            Integer, :key => true
  property :current_station_id, Integer, :key => true
  property :next_station_id,    Integer, :key => true
end

Кроме того, после того, как все ваши модели требуются, вам нужно позвонить:

DataMapper.finalize

Надеюсь, это поможет

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