2013-12-10 29 views
1

我面臨使用原則聯接的麻煩。我無法分享我的代碼。但我可以告訴你情景。 請幫我實現這一點。Doctine和ZF2

我創建了2個實體。一位用戶和語言。

用戶表具有外鍵language_id。語言是具有ID和代碼字段的主表。

我想用一些條件獲取用戶,這樣它也從語言表中返回語言代碼。

我寫的加盟爲,但它返回一些完整的對象... 不知道如何從語言表中提取相應的語言代碼LANGUAGE_ID在用戶表中設置

如果有一些你知道的,它可以幫助例子我隨後還細

我在__construct返回此()

$this->languageObj = new ArrayCollection(); 

,當我們打印出來是給這個

[languageObj:User:private] => Common\User\Entity\Language Object 
      (
       [languageId:Language:private] => 1 
       [languageCode:Language:private] => en 
       [languageName:Language:private] => English 
       [languageCode2:Language:private] => User Object 

遞推

我無法從對象

回答

1

您需要在實體定義爲從對象返回值的方法獲取語言代碼。似乎一切都是正確的,你只需要從實體中獲取價值。這裏有一個例子:

$userEntity->getLanguageObj()->getLanguageId(); 

您的用戶實體將需要getLanguageObj方法,你可以這樣定義:

public function getLanguageObj() { 
    return $this->languageObj; 
} 

和語言實體還需要一個getLanguageId方法:

public function getLanguageId() { 
    return $this->languageId; 
} 

希望有所幫助!