【发布时间】:2017-08-21 05:41:57
【问题描述】:
我有一个复杂的加入,比如
A 属于 Many B throw AB table AB属于多C扔ABC表
现在我的问题是如何在控制器 A 中获取包含结果的数据,直到表 ABC。 在 A 和表 ABC 中找不到直接关系
我的数据库结构是
表 A(ID、名称、代码) 表 B(ID、名称、代码) 表 C(ID、名称、代码) 表 AB(id、a_id、b_id、费用) 表 ABC (ab_id, c_id, opt_date, tno)
我可以使用以下查询与 B 连接,但不确定如何获取 ABC 的数据
$this->A->find('list',[
contain => ['B']
]);
这里我把它改成我的真实方案
1. courses (id, name, course_code, etc...)
2. sessions (id, name, status, start_date, end_date)
3. seats (id, name, description, metadata, status)
4. courses_sessions (id, course_id, session_id, programme_coordinator, academic_coordinator, status)
5. courses_sessions_seats (id, courses_session_id, seats_id, no_seats)
目前的关系
a) courses belongsToMany sessions using courses_sessions
b) courses_sessions belongsToMany seats using courses_sessions_seats
我不知道情况二是否可行,但我想要显示课程详细信息以及每个类别会话的可用座位。
【问题讨论】:
-
搜索列表只返回两个字段 - 主键字段和显示字段为数组 [primary_key => display_field] 不会选择其他字段。
-
book.cakephp.org/3.0/en/orm/… 是要在文档中查看的内容
标签: php cakephp-3.0 has-and-belongs-to-many