3
내 응용 프로그램이 복잡해지고 있으며 ORM 엔터티에서 뷰로 직접 이동하는 것이 불충분하다는 것을 알게되었습니다.모델에 ORM 엔터티를 추가하는 방법
모델을 추가하고 싶습니다. 그들은 ORM 엔티티에서 데이터를 가져 오지만 일부 기능을 추가합니다. 예를 들어 내 User
ORM 엔티티는 endDate
속성과 trial
속성을가집니다. 나는
endDate
오늘보다 이후 보장하는isExpired
방법을 추가 할 및trial
은 false입니다
(이 간단한 예입니다. 내 요구 사항이 훨씬 더 복잡하다 따라서 논리 외부로 논리를 이동하고 싶습니다.)
올바른 방법은 무엇입니까? 내가 UserModel
클래스를 만든다고 해보자. User
개체는 다른 속성/메서드 외에도 해당 클래스의 속성이됩니까? 하나의 쿼리로 모든 객체를 가져올 수있는 교리의 능력을 보존 할 수 있습니까?
이렇게하면 지속성이 떨어지지 않습니까? –
또 하나의 주름이 있습니다. 이 특별한 경우에는 [Native SQL] (http://docs.doctrine-project.org/projects/doctrine-orm/en/latest/reference/native-sql.html)을 사용하고 있습니다. 각 개체에 대한 데이터 그래서, 이미 '래퍼 클래스'가 있습니다 (이것이 유일한 방법이라고 생각합니다). 내 실체의 새로운 소품/메소드를 래퍼 클래스로 가져갈 수 있습니까? –
Elnur의 제안은 영속성을 전혀 망치지 않습니다. 정보 기능을 생성하기 위해 양식의 엔티티 데이터를 처리하는 것입니다. 랩퍼로도 작업해야하며, 부모 호출이나 기타 등등을 제공하십시오. 나는이 기법을 꽤 사용한다. – Lighthart