在Symfony2.1項目中,如何在模板內部調用自定義實體函數?詳細說一下,請考慮以下情況;有兩個實體具有多對多關係:用戶和類別。在樹枝內使用存儲庫類方法
Doctrine2已經產生了這樣的方法:
$user->getCategories();
$category->getUsers();
因此,我可以在樹枝使用這些如:
{% for category in categories %}
<h2>{{ category.name }}</h2>
{% for user in category.users %}
{{ user.name }}
{% endfor %}
{% endfor %}
但我怎麼能得到用戶自定義函數?例如,我想列出一些選項,用戶和按日期排序是這樣的:
{% for user in category.verifiedUsersSortedByDate %}
我寫了自定義的功能這裏面UserRepository.php類,並試圖將其添加到Category.php類,使其工作。不過,我得到了以下錯誤:
An exception has been thrown during the rendering of a template ("Warning: Missing argument 1 for Doctrine\ORM\EntityRepository::__construct(),
其實,你錯了約邏輯。實體 - 是唯一應該包含邏輯的地方。如果你想把邏輯放在控制器中,你會看到大量的重複代碼。 – Zeljko
感謝您的評論@Zelijko。我從來沒有說控制器......實體只保存元數據。引用文檔「這是一個保存數據的基本類」。您需要使用實體經理來處理這些數據,並在那裏應用業務邏輯。我給你的觀點是,它的集合上的邏輯是指允許處理數據的entity + entityManager +服務。我澄清了我的答案。謝謝。 – Mick