Вы можете использовать атрибут proxy
в отношении для включения средств доступа - он задокументирован в add_relationship
из DBIx :: Class :: Relationship :: Base , и вы можете использовать его с belongs_to
как:
__PACKAGE__->belongs_to(
'item' => 'MyApp::Schema::Item',
'item_id',
{ proxy => [ qw/purchase_date/ ] }
);
, что сделает все ваши объекты Принтера имеющими purchase_date
средства доступа, которые ссылаются на связанный объект Item.
Что касается создания, вы не можете сделать это без переопределения new_result
, что на самом деле довольно просто. Вам просто нужно воспользоваться поведением создания из, чтобы включить
->create({
is_duplex => 1,
purchase_date => $dt,
})
* +1015 * в
->create({
is_duplex => 1,
item => {
purchase_date => $dt,
},
})
Или вы можете просто навязать своим пользователям сведения о том, какие столбцы есть в item
, и попросить их предоставить этот хэш-адрес напрямую;)