2010-04-23 1 views
3

다양한 데이터베이스 테이블을 모델링하는 소수의 DBIx :: Class :: Core 개체가 있습니다.DBIx :: Class의 관계 삽입하기

일부 모델 ('대기열'열이있는 모델)에 대해 다른 클래스가 하위 (기본적으로 대기열 상태에 따라 모델 객체를 '이동') 주입해야합니다.

나는 또한 ("그런 관계"오류가 계속 클래스가

class($name)->has_many('queue_history','MySchema::Result::QueueHistory', 
{ 'foreign.record_id'=>'self.id' }, 
{ where => { type => $name }}); 

has_many 관계를 주입하지만 제대로 등록 관계를 얻이 수없는 것 가지고 싶습니다

-, 그러나 소스에서 관계 메소드를 호출하면 관계가 다시 제공됩니다.

무엇이 잘못되었는지에 대한 단서가 있습니까? 일부 주위 파고 다음 작품 후

+0

해결책을 찾았지만 여전히 대안을보고 싶어합니다! – Carl

답변

2

:

$class = $schema->class($name)->has_many('queue_history','MySchema::Result::QueueHistory', 
{ 'foreign.record_id'=>'self.id' }, 
{ where => { type => $name }}); 

$schema->unregister_source($name); 
$schema->register_class($name,$class); 

새로운 has_many 관계를함으로써 추가됩니다 모든 적절한 다른 방법을 생성하기 위해 등록 취소/등록 방법 인 키입니다.