symfony - 学说水合物未映射领域
问题描述
我正在使用 Doctrine 进行查询,该查询使用CASE WHEN
如下方式计算自定义字段:
公共函数 findLatestPaginator($page = 1, $itemsPerPage) { $qb = $this->createQueryBuilder('n');
$qb = $qb
->select(['n AS news', 'CASE WHEN lu.id IS NOT NULL THEN 1 ELSE 0 END AS n.liked'])
->leftJoin('n.likingUsers', 'lu')
;
$qb = $qb
->orderBy('n.date', 'DESC')
->setFirstResult($itemsPerPage * ($page - 1))
->setMaxResults($itemsPerPage)
->getQuery()
;
return $qb->getResult();
}
在我的实体中,我有一个$liked
未映射的字段。是否可以使查询(或水合器?)自动在结果实体上设置字段?
现在我正在foreach
循环并手动设置属性:
/**
* @return News[]
*/
private function convertNews(array $records)
{
$newsList = [];
foreach ($records as $record) {
if (isset($record['liked'], $record['news'])) {
/** @var News */
$news = $record['news'];
$news->liked = boolval($record['liked']);
$newsList[] = $news;
}
}
return $newsList;
}
解决方案
推荐阅读
- css - 在没有固定高度的父项中控制 Flex 子项的比率
- python - 如何在google colab中基于python变量查找和执行
- gradle - 如何在 MarkLogic 中清除模块数据库
- java - 当我单击确定时,弹出窗口是空白的
- r - ggplot中的时间序列差异
- c# - 创建新 XFont 时出现异常。PDFSharp Xamarin
- javascript - 当从 Promise 而不是数字跟随时,等待行为应该不同吗?
- react-native - 只安装一次组件,不再卸载它
- c# - 为 Android 设置底部选项卡式导航时应用程序崩溃
- matlab - 如何移动分组条形图的位置?