2011-08-05 5 views

답변

0

이 테이블에 항상 1 차 키 대신 고유 키를 사용할 수 있습니다
(해당 데이터베이스 '제한)

0

(나는 교리 고유 키 지원에 대한 것은. Doctrine site에 매뉴얼을 방문 방법을 모른다)입니다 교리 매뉴얼은 실제로 이것에 대해서는 언급하지 않지만 Symfony (1.2)는 간단히 covers this 매뉴얼에 있습니다 (symfony는 기본 ORM으로 doctrine을 사용합니다).

$userGroup = Doctrine::getTable('UserGroup')->find(array(1, 2)); 

난 당신이 효과적으로 복합 기본 키 구성 접합 테이블에 대한 모델을 선언 할 수 있기 때문에 교리는, 복합 기본 키를 지원하지 왜 생각할 수 없다.

0

예. 가능합니다. 그러나 그것은 많은 문서를 가지고 있지 않습니다. 우리가 원하는 경우 예를 들어, 기업 사용자는 많은 위치를, 그리고 위치는 많은 사용자,이 같은 다음 필요 뭔가 가지고 :

귀하의 사용자 모델의 설정 방법은이를 넣어 :

$this->hasMany('Location as Locations', array(
    'refClass' => 'UserLocation', //Refering to the relation table 
    'local' => 'user_id', //the user id in the realtion table 
    'foreign' => 'location_id' //the location id in the relation table 
)); 
을 위치 모델의 설정 방법에

이 넣어 : 많은 관계 모델 (UserLocation)에 많은의 설정 방법

$this->hasMany('User as Users', array(
    'refClass' => 'UserLocation', 
    'local' => 'location_id', 
    'foreign' => 'user_id' 
)); 

을이를 넣을 수 있습니다 :

당신이 Doctrine_Query을하고, 위치 ID에서 모든 사용자를 얻으려면

이제 :

$q = Doctrine_Query::create() 
    ->select("u.*") 
    ->from('User u') 
    ->leftJoin("u.UserLocation ul") 
    ->where('ul.location_id = ?',12); 

것은 당신이 사용자가 UserLocation을 만들 기억 삽입하는 경우 : 12,은과 같은 일 것입니다 objetct도 이와 유사합니다.

$userLocation = new UserLocation(); 
$userLocation->location_id = $locationId; 
$userLocation->last_login = date('Y-m-d H:i:s'); 
$userLocation->user_id = $user->id; //from the user you created before 
$userLocation->save(); 
관련 문제