2016-08-04 4 views
0

Вот структура данных в вопросе:TYPO3 как получить вложенные частные члены

TYPO3\CMS\Extbase\Persistence\Generic\QueryResultprototypeobject (2 items) 
0 => Plistvendor\Plistkey\Domain\Model\Partnerprototypepersistent entity (uid=16, pid=50) 
1 => Plistvendor\Plistkey\Domain\Model\Partnerprototypepersistent entity (uid=17, pid=50) 
    name => 'Egal' (4 chars) 
    nachname => 'Nachname' (8 chars) 
    position => 'position2' (9 chars) 
    adresse => 'adresse 123 lorem ipsum' (24 chars) 
    land => 'Deutschland' (11 chars) 
    bild => TYPO3\CMS\Extbase\Domain\Model\FileReferenceprototypepersistent entity (uid=98, pid=50) 
    skype => 'skypename' (9 chars) 
    telefon => '90853490583094' (14 chars) 
    email => '[email protected]' (13 chars) 
    division => TYPO3\CMS\Extbase\Persistence\Generic\LazyObjectStorageprototypeobject (1 items) 
    language => TYPO3\CMS\Extbase\Persistence\Generic\LazyObjectStorageprototypeobject (1 items) 
    000000004dac554500000000513665c6 => Plistvendor\Plistkey\Domain\Model\Languageprototypepersistent entity (uid=6, pid=50) 
     name => 'en' (2 chars) 
     uid => 6 (integer) 
     _localizedUid => 6 (integer)modified 
     _languageUid => 1 (integer)modified 
     _versionedUid => 6 (integer)modified 
     pid => 50 (integer) 
     uid => 17 (integer) 
     _localizedUid => 17 (integer)modified 
     _languageUid => -1 (integer)modified 
     _versionedUid => 17 (integer)modified 
     pid => 50 (integer) 

Теперь мой вопрос, как я могу получить доступ к _languageUid в любой жидкости или PHP?

Для дальнейшего повторения здесь приведен код моего контроллера. Я знаю, что это очень плохо, поэтому я открыт для любых предложений, которые не будут стоить слишком много времени.

public function listAction() { 
    $lang  = $_GET['L']; 
    $partners = $this->partnerRepository->GetAll(); 
    foreach ($partners as $key    => $value) { 
     foreach ($value->getlanguage() as $key => $lval) { 
      echo $lval; 
     } 
    } 
    $this->view->assignMultiple(array('partners' => $partners)); 
} 

В этом контроллере я могу сделать эхо $lval->getUid();, и он будет возвращать язык Uid однако мне нужно Acces в _languageUid/sys_language_uid.

ответ

2

Для этого свойства необходим публичный метод получения, иначе вы не сможете получить его с жидкостью. Возьмем пример на https://github.com/TYPO3-extensions/news/blob/master/Classes/Domain/Model/News.php#L1158-L1161

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

В PHP, вы можете использовать метод _getProperty('_languageUid')

 Смежные вопросы

  • Нет связанных вопросов^_^