我无法使用联接从的表关系中获取所需的数据
学生HABTM科目,监护人1对多学生
在没有给出所有代码的情况下,我的查找得到了所需的数据,但它添加了另一个表(可用性为学生),该表与学生以及其他字段有HABTM关系。我只是得到了太多的数据。我必须添加守护者2到守护者表,以避免冲突,我不明白。
仅显示3个表中数据的正确连接是什么?
$students = $this->find('all', array(
'joins'=>$joins,
'conditions' => $conditions,
'fields'=> $fields,
'order'=>$order,
));
$joins = array(
array('table' => 'students_subjects',
'alias' => 'StudentsSubject',
'type' => 'LEFT',
'conditions' => array(
'Student.id=StudentsSubject.student_id',
)
),
array('table' => 'subjects',
'alias' => 'Subject',
'type' => 'LEFT',
'conditions' => array(
'StudentsSubject.subject_id=Subject.id',
)
),
array('table' => 'guardians',
'alias' => 'Guardian2',
'type' => 'LEFT',
'conditions' => array(
'Student.guardian_id=Guardian2.id',
)
),
);
(int) 0 => array(
'Student' => array(
'id' => '267',
'last_name' => 'xxx',
'first_name' => 'xxx',
'address_suburb' => 'xxx',
'student_inactive' => false,
'student_mobile' => '0'
),
'Guardian' => array(
'guardian_last_name' => 'xx',
'guardian_first_name' => 'xxxx',
'id' => '267',
'guardian_mobile' => 'xxxx',
'guardian_email' => 'xx@yahoo.com.au'
),
'Subject' => array(
'name' => 'English: Year 7 - 10',
(int) 0 => array(
'id' => '9',
'name' => 'English: Year 7 - 10',
'StudentsSubject' => array(
'id' => '1079',
'student_id' => '267',
'subject_id' => '9',
'created' => null,
'modified' => null
)
)
),
'StudentsSubject' => array(
'id' => '1079'
),
'AvailabilityForStudent' => array(
(int) 0 => array(
更新-添加此行$this-
更新-添加此行$this-
我有一个JavaAPI(使用Spring Framework),我的前端使用它来创建新的父对象(json),其中包含一个新的子对象列表,如下所示: 如您所见,没有ID,因为我即将保存它们,并且数据库应该生成ID。 父实体在后端具有以下代码: 在我调用存储库上的父级保存操作后,我可以在数据库中找到子元素(所以级联工作),但是数据库中的子级的父级列为空,因此当我获取父级时,它的子级列表显示为空。 我可
在我的应用程序中,用户和首选项实体之间存在多对多关联。由于连接表需要一个额外的列,因此我必须将其分解为2个一对多的关联: 用户实体: 偏好实体: 用户首选项实体: 为了更新其中一个首选项,我循环浏览用户的一组首选项,并更新值如下: 我已经确认,我试图更新的用户变量在代码运行后确实包含新值。更奇怪的是,当重定向发生时,该值会在网页上更新,但数据库不会更新!这是我用来做更新的代码,这个类用@Trans
我的数据模型中有以下实体关系。 ERD Hibernate实体: 要求:我想用实体B的连接获取查询实体C,同时也急切地获取实体D。查询完成后,我希望如果我执行,它不应导致hibernate中的N 1查询问题。 我正在尝试以下JPQL查询: 这导致结果重复,因为与实体D交叉连接。我得到的不是一个结果,而是n个结果,其中n是实体D列表的大小。 我该如何避免这种情况?有没有办法在JPQL中不交叉连接地获
我有许多对许多用户与城市地区之间的联系。我也有连接城市区域的区域(一个城市区域只能连接一个区域)。 我有这样的数据库结构: 使用者 id 城市地区 id 姓名 area_id 城市用户 id cityarea_id user_id 地区 id 姓名 接下来我有模特 用户 城市地区 地区 问题: 如何让所有用户与雄辩? 谢谢!!
问题内容: 我在与JoinTables进行双向一对多关联时遇到了一些问题。这就是我得到的: A类: B类: 如果创建A和B的实例,请将B的实例添加到A并保存。有用。但是,当我重新加载A的实例并尝试访问B的集合时,它将引发LazyInitializationError并显示消息“对加载集合的非法访问”。 我在哪里错了?:)谁能指出我一个使用联接表的双向关联示例。在所有权保留为A类的地方,我搜索了hi
我有2个具有多对多关系的实体User和AcCountBase。我需要从连接表中选择所有具有选定用户ID的AcCountBase对象。我尝试了一些连接查询,但不起作用。