我有两个由CMS创建的预先存在的表。我已经在Symfony2中映射了它们,我正在尝试在两个表之间建立关系,但我现在注意到CMS在没有外键的情况下创建了这些表。此表table_uploads
有一个列,其他每个表都与名为column_table_name
和column_record_num
相关联。
假设我们有三个表格table_students
,table_uploads
和table_teachers
,表格table_uploads
的值为students
或teachers
中的column_table_name
显示其与其他两个表的关系以及column_record_num
中与另一个表的主键对应的数字。但是,这三个表中都没有实际定义的外键。
在Symfony,我想打电话给一张桌子
$students = $this->getDoctrine()->getRepository('SchoolBundle:Students')->findAll();
然后以这样的方式加载来自另一个表的相关记录(我知道select_related
实际上并不存在,但这基本上是我想要创建的功能)
$students->select_related()
如果没有外键,这是否可行?我能想到的唯一方法是从$students
获取列值并使用这些值运行另一个查询到其他表并合并两个结果。