2013-03-22 7 views
1

사용자와 클라이언트 간의 일대 다 관계를 설정하려고합니다. 나는 이런 내 모델 설정하면 단일 클라이언트에 액세스 할 수 있습니다

class Model_User extends Model_Auth_User { 
    protected $_has_one = array(
     'client' => array(
      'model' => 'Client', 
      'foreign_key' => 'user_id') 
    ); 
    [...] 

을하지만 $ _has_many로 전환하려고하면

class Model_User extends Model_Auth_User { 
    protected $_has_many = array(
     'clients' => array(
      'model' => 'Client', 
      'foreign_key' => 'user_id') 
    ); 
    [...] 

내가받을 다음과 같은 오류 :

Database_Exception [ 1103 ]: Incorrect table name '' [ SELECT COUNT(*) AS `records_found` FROM `` WHERE = '74' AND IN ('4') ] 

무엇이 잘못되었는지 알 수 없습니다 ..

+0

당신이 여기에 실행하는 SQL 쿼리 기능 :

는 Kohana의 Model_Auth_User에서 값을 복사하고 내 재산을 추가하여 해결? 오류 메시지에있는 것과 같이 보이지 않습니다. –

+0

나는 당신이 클라이언트 모델에 뭔가 잘못 됐어. 클라이언트 모델을 추가 할 수 있습니까? – Kotzilla

+0

내 클라이언트 모델은 매우 기본입니다 : – Djoo

답변

1

has_many through 내가 문제를 발견해야합니다. 내 사용자 모델에서 $ _has_many 속성을 선언하면 역할 및 토큰 정보가 포함 된 Kohana 소스 파일의 동일한 속성을 덮어 씁니다.

protected $_has_many = array(
    'user_tokens' => array('model' => 'User_Token'), 
    'roles'  => array('model' => 'Role', 'through' => 'roles_users'), 
    'clients'  => array('model' => 'Client', 'foreign_key' => 'user_id'), 
); 
0

클라이언트에서 어떻게 보이나요? "Client -> has_one -> User"가 있으면 문제가되지 않습니다. 당신이있는 경우

는 "-> has_many - 클라이언트> 사용자", 당신은