2014-12-29 4 views
0

나는 복잡한 상황 ... 얻기 중첩 된 속성은 동적으로

내가 $type->created_by->email

  • $ 유형을 통해 가치를 얻을 수 있어요 데이터를 포함하는 클래스 (법인) 인을 얻었다.
  • created_by는 관련성이 있으므로 클래스 (Entity)도 해당됩니다.
  • 이메일은 created_by의 자산입니다. 끈.

내 방법을 문자열 '제목'($type의 속성을) 줄 때, 내 코드는 $type->$variable ($ 변수가 title 임)을 할 것입니다.

이것이 내가 원하는 것입니다. created_by 클래스를 통해 email 속성에 연락하고 싶습니다. 이미 시도했습니다 created_by->email.

문자열 입력이 좋을 것 같은 created_by.email 같은

가 someting ...

어떻게 동적으로 클래스의 속성을 얻을 수 있어요?

감사합니다.

+0

정확히 무엇에 대해 이야기하고 있는지 설명하면 도움이 될 것입니다. 속성? 어떤 속성? '$ type'이란 무엇입니까? – ndm

+0

@ndm 다시 설명하려고 시도했습니다 ... 감사합니다.) – Bob

+0

정확히이 유형의 액세스가 필요합니까? 어딘가에? 컨트롤러에서? 보기에서? ...? – ndm

답변

1

엔티티 레벨에서 이러한 기능을 사용할 수 없으며 PHP가 기본적으로 지원하지도 않습니다.

일반적으로 속성을 반복해야합니다. 양식 도우미에 대한 엔티티 컨텍스트에서 이와 비슷한 것을 찾을 수 있습니다. 영감을 얻으려면 EntityContext::val()을 참조하십시오.

신속하고 더러운 해결책은 엔티티를 배열로 변환하고 Hash::get()을 사용하는 것입니다.

Hash::get($entity->toArray(), 'dot.notated.path') 
+0

'Hash :: get ($ entity-> toArray(), 'dot.notated.path')'내가 필요한 것입니다! 고마워요! – Bob