我想在我的控制器中加載實體,但不希望實體包含所有字段。我之前使用Jms-Serializer(可以使用組註釋)執行此操作,以避免加載特殊字段。但我在那裏你必須序列化你的對象到JSON/XML等 而我不想它序列化,我只是想組的功能。我搜索這個網站和互聯網,但沒有找到任何解決我的問題。如何在沒有特殊字段的情況下在Symfony中加載實體
希望有人明白我的意思,就有了一個想法:)
我想在我的控制器中加載實體,但不希望實體包含所有字段。我之前使用Jms-Serializer(可以使用組註釋)執行此操作,以避免加載特殊字段。但我在那裏你必須序列化你的對象到JSON/XML等 而我不想它序列化,我只是想組的功能。我搜索這個網站和互聯網,但沒有找到任何解決我的問題。如何在沒有特殊字段的情況下在Symfony中加載實體
希望有人明白我的意思,就有了一個想法:)
有幾個可能的原因:
Th是危險的,你應該特別小心,因爲它看起來像是一個從各個角度來看的滿載實體。你必須知道爲什麼一個字段爲空 - 僅僅因爲它是空的或者因爲它在水合過程中沒有被填充。
將此用於需要大量只讀數據和複雜聯接的性能敏感查詢。但請注意,您沒有任何可以使用Doctrine管理的實體(例如更新,刪除等)。
基本上和2)一樣的建議,但這次你會得到物體。所以你可以使用你所有的OOP智慧。
非常先進的水平。只有當你需要一個特殊的保溼模式來滿足多個實體時,纔有用,而且在你需要的時候沒有其他的選擇可以提供性能和質量。
您可以使用局部對象,但你要小心。例如:
$q = $em->createQuery("select partial u.{id,name,otherField} from MyApp\Entity\User u");
你可以在這裏閱讀更多:http://docs.doctrine-project.org/projects/doctrine-orm/en/latest/reference/partial-objects.html
我不確定你到底在做什麼,但是從我收集的內容中你可能想看看[實體倉庫](http://symfony.com/doc/current/doctrine/repository 。html) 如果你發佈了一些代碼,那麼人們可能會更容易理解你想要實現的目標 – p3tch
如果你想加載一個實體,你可以從你的實體庫 –
得到一個數組結果(沒有一些字段)我們可以假設你希望它作爲一個對象而不是縮減數組嗎?如果它*是一個對象,爲什麼不忽略你不需要的道具呢?或者只是在實體上創建一個返回所需位數的方法? – DevDonkey