我有Rooms
表和Residents
表。每个Room
都有不同数量的Residents
,所以我的表格是这样的:
+-------------------+
| room_id | room_no |
+-------------------+
| 0001 | 5 |
| 0002 | 6 |
+-------------------+
+-------------------------------+
| user_id | user_name | room_id |
+-------------------------------+
| 0123 | John | 0001 |
| 0110 | Gwen | 0002 |
| 0020 | Kim | 0002 |
+-------------------------------+
那么如何在Controller
中执行查询,然后将其显示在view
中,以便像这样输出?
Room 1 - Residents
+----------+
| 1 | John |
+----------+
Room 2 - Residents
+----------+
| 1 | Gwen |
| 2 | Kim |
+----------+
提前致谢。
答案 0 :(得分:1)
您需要先在Room Model中创建一个关联
var $hasMany=array('Resident');
之后在控制器中你可以这样做
$residents=$this->Room->find('all');
答案 1 :(得分:0)
将您的房间模型设置为HasMany居民,然后在房间控制器的paginate call索引操作中,您需要将递归设置为1.
在您的房间索引视图中,您需要循环通过$ room ['Resident']来显示居民。
答案 2 :(得分:0)
了解更多信息: http://book.cakephp.org/2.0/en/models/associations-linking-models-together.html#hasmany 。我以这种方式调试我的.ctp。
<?php echo debug($rooms) ?>
您可以在解析之前看到关联。或者使用github上提供的所谓调试工具