symfony - crudcontroller 中基于当前登录用户或用户 ID 的实体数据
问题描述
我是 Symfony 的新手,我已经学到了很多东西,但是现在我遇到了一个我找不到答案的问题。
我有一个使用实体(例如)文章的 crudcontroller,但数据库中的文章有不同的用户 ID。
crudcontroler 必须只显示当前登录用户/用户 ID 的文章。我知道如何获取用户 ID,但我不知道如何操作实体以仅获取特定用户的文章以显示在 crudcontroller 中。
示例:
用户 ID 为 5 的用户已登录仪表板。仅在 crudcontroller 中获取用户 ID 为 5 的文章。不要获取或显示任何其他内容。
Symfony 版本:5.2
Easyadmin:3.2
我希望有人能把我推向正确的方向。目前正在把我的头发拉出来。在 Google 上找不到关于此主题的任何内容。
编辑:
我终于找到了使用 createIndexQueryBuilder() 进行更多控制的方法。我已经用以下内容覆盖了那个:
public function createIndexQueryBuilder(SearchDto $searchDto, EntityDto $entityDto, FieldCollection $fields, FilterCollection $filters): QueryBuilder
{
$response = parent::createIndexQueryBuilder($searchDto,$entityDto,$fields,$filters);
$response->where('entity.user_id = 5);
return $response;
}
但是然后我收到此错误:
[语义错误] 第 0 行,'user_id = 5' 附近的第 65 列:错误:App\Entity\RepairServices 类没有名为 user_id 的字段或关联
没错,因为 user_id 不是实体的一部分,但它在数据库中,我需要检查它。我怎样才能做到这一点?
解决方案
推荐阅读
- java - facebook提供的whatsapp模板中的用户动态变量
- python-3.x - 尝试为 Python 安装boilerpipe3 有什么问题?
- javascript - 如何从登录的 Google 登录(仅限客户端应用程序)中正确获取访问令牌?
- javascript - 按重量对列表进行排序,选取项目的开头并为其分配自定义重量
- android - 从开始日期到结束日期重复本地通知,一天也重复 1-4 次 Android
- sql - 为什么jsp在同一个表单中多次显示同一个数据?
- php - ajax url路径未定义,如何获取ajax url中的wordpress文件路径?
- pam - 如何使用 pam_exec 和 PAM_TYPE 创建条件行为?
- uwp - UWP TreeView DragEnter 和 DragOver 事件不执行
- scrapy - Scrapy 不会抓取整个网站