假设我有一本书Entity
与Author
实体有很多关系。
在列出所有书籍的页面上,我有一个带有字段'作者'''的搜索表格。我将搜索表格的数据存储在对象(不启用实体,不持久的)中,称为searchFilter
。我制作了一个SearchFilterType
,其中我正在使用 entityType类以显示作者的选择列表,因此可以与该作者一起搜索所有书籍。
当我访问另一个页面然后回到搜索页面时,我希望记住我的最后一次搜索,这就是为什么我将searchFilter
对象存储在 session 。。
$request->getSession()->set('searchFilter', $searchFilter);
但是当我返回搜索页面时,我会收到错误:
Entities passed to the choice field must be managed. Maybe persist them in the entity manager?
我的问题:
我是否必须将搜索对象变成一个实体才能坚持下去,还是有一种更简单的方法?我不想让我的搜索频率永远存在,会议时间就足够了。
编辑:
我认为我的问题是提供出色解决方案的重复性。
会话无法存储对象。因此,您需要序列化和去序列化对象。请参阅http://symfony.com/doc/current/components/serializer.html
并参见此简单的实施示例