2011-08-05 3 views

答えて

0


あなたは(私は教義で一意のキーサポートについてのか分からない。Doctrine site上のマニュアルを参照してください)の代わりにユニークなキーを使用することができますテーブル内の1つのプライマリキー(そのデータベース制限に)常にあります

0

doctrineのマニュアルは実際にこれについて何も言及していませんが、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 
)); 
:あなたのUserモデルの設定方法では

をあなたはこれを置きますあなたがこれを置くことができ、多くの関係モデル(UserLocation)に多くのセットアップ方法で

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

:あなたはこれを置く場所モデルのセットアップ方法で

ユーザーUserLocationを作成することを忘れないでくださいを挿入する場合

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

:今

、あなたがするDoctrine_Queryを行うと、ロケーションIDからすべてのユーザーを取得したい場合:12、それはようなものになるだろう同様に、次のようなもの:

$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(); 
関連する問題