2012-06-02 57 views
0

嘿如何從整個對象中獲取任何特定的屬性。 我有這個疑問如何獲取Symfony中Object的屬性

$portfolios = $this->getDoctrine() 
    ->getRepository('MunichInnovationGroupBundle:PmPortfolios') 
    ->findBy(array('user' => '1')); 
foreach ($portfolios as $portfolio){ 
if($portfolio.isDefault == true){ 
    $default_portfolio = $portfolio; 
} 
    echo $portfolio.name; 
} 

完整的物體看起來像這樣

MunichInnovationGroup\Bundle\Entity\PmPortfolios Object 
(
[id:MunichInnovationGroup\Bundle\Entity\PmPortfolios:private] => 991654b4-aa73-11e1-bdce-4a7b883b8e17 
[portfolioName:MunichInnovationGroup\Bundle\Entity\PmPortfolios:private] => Umair Portfolio 1 
[description:MunichInnovationGroup\Bundle\Entity\PmPortfolios:private] => Thsi is the description for Umairs portfolio 1 
[permalink:MunichInnovationGroup\Bundle\Entity\PmPortfolios:private] => premalink 
[sharingCode:MunichInnovationGroup\Bundle\Entity\PmPortfolios:private] => asdbnvg123dg 
[shared:MunichInnovationGroup\Bundle\Entity\PmPortfolios:private] => 
[sharedPortfolioCalls:MunichInnovationGroup\Bundle\Entity\PmPortfolios:private] => 
[isDefault:MunichInnovationGroup\Bundle\Entity\PmPortfolios:private] => 1 
[user:MunichInnovationGroup\Bundle\Entity\PmPortfolios:private] => Proxies\MunichInnovationGroupBundleEntityUmUsersProxy Object 

我怎樣才能獲得ISDEFAULT價值?

在此先感謝

+1

'$ obj-> property'但是如果它是私人的,您將無法訪問它,直到您使用['__get()'](http://www.php.net/manual/en/language。 oop5.overloading.php#object.get)。哦,我沒有讀過「交響樂」。我希望這可能會有所幫助。 – Leri

回答

1

如果您在實體正確設置與所有生成的一組/ get方法,並ISDEFAULT是私人性質(因爲它來自的var_dump似乎如此),你可以簡單地使用

if($portfolio->getIsDefault())

爲了更好的方法命名我會寫的實體的方法:

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

然後用 if($portfolio->isDefault())

+0

我正在使用它,但如何在if中打印名稱或描述? –

+3

所以現在我開始好奇了。有沒有理由不允許您閱讀文檔?這是一個微不足道的問題(就像你發佈的其他人一樣),我開始認爲你可能不知道S2/D2都有詳細的易於閱讀的手冊。 – Cerad

+0

@Cerad我是S2/D2的首發,爲什麼我會問這麼微不足道的問題。抱歉 –