搜索过滤器存储在会话中时的符号错误



假设我有一本书EntityAuthor实体有很多关系。

在列出所有书籍的页面上,我有一个带有字段'作者'''的搜索表格。我将搜索表格的数据存储在对象(不启用实体,不持久的)中,称为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

并参见此简单的实施示例

相关内容

  • 没有找到相关文章