symfony - 现有模式的多对多关系表的字段名称
问题描述
我正在使用 Symfony 4.4,我必须通过 entityManager 从遗留数据库中获取数据。
有 2 个表artist
和fun_fact
一个关系表artist_fun_fact
。
艺术家.php
/**
* @var FunFact[]|null
* @ORM\ManyToMany(targetEntity="App\Entity\Legacy\FunFact", inversedBy="artists")
* @ORM\JoinTable(name="artist_fun_fact", schema="legacy")
* @ORM\JoinColumn(name="artist_id", referencedColumnName="id")
*/
private $funfacts;
FunFact.php
/**
* @var Artist[]|null
* @ORM\ManyToMany(targetEntity="App\Entity\Legacy\Artist", mappedBy="funfacts")
* @ORM\JoinColumn(name="fun_fact_id", referencedColumnName="id")
*/
private $artists;
并且关系表具有以下字段(我无法修改,因为数据库和实体是只读的):
- 艺术家 ID
- fun_fact_id
当我运行代码时,我得到了:
SQLSTATE [42S22]:未找到列:1054 未知列 'legacy.artist_fun_fact。'on 子句'中的funfact_id '
信息。很明显,我的指令无效,但我不@ORM\JoinColumn(name="fun_fact_id", referencedColumnName="id")
知道我还能如何告诉 ORM 她正在寻找的字段是fun_fact_id
funfact_id
提前谢谢你的帮助!
解决方案
推荐阅读
- java - 使用 Kubernetes 部署 Spring Boot
- django - Django model_mommy 模型实例未保存在 Ajax 测试中
- python - 是否可以在 SQLAlchemy 中创建自定义“列”?这是破坏 OOP 吗?
- xamarin - Xamarin 表单 iOS 应用程序已停止与本地 WebAPI 超时异常通信
- hyperledger-fabric - [Hyperledger-Composer] 不允许尝试在 InvalidRelationship 上获取财产所有者 - ACL 问题
- python - 尝试循环显示更改但未应用它
- ffmpeg - 如何在 FFMPEG 的复杂过滤器中使用过滤后的音频?
- matlab - 如何调试从函数文件中调用的 switch case 的错误?
- apollo - `data` 在 apollo useMutation Promise 中未定义
- python - Pandas Dataframe 到云存储桶