连接表并显示结果[Laravel 5]


join tables and display result [Laravel 5]

我有groupsproject_group数据透视表questions

groups表:

+----+--------+---------------------+---------------------+
| id | name   | updated_at          | created_at          |
+----+--------+---------------------+---------------------+
|  1 | GROUP1 | 0000-00-00 00:00:00 | 0000-00-00 00:00:00 |
|  2 | GROUP2 | 0000-00-00 00:00:00 | 0000-00-00 00:00:00 |
+----+--------+---------------------+---------------------+

数据透视表project_group:

+-----+----------+------------+----------+---------+-----------+
| ids | group_id | project_id | admin_id | user_id | user_name |
+-----+----------+------------+----------+---------+-----------+
|   4 |      115 |          1 |        1 |       3 | CLIENT    |
|   5 |      115 |          2 |        1 |       3 | CLIENT    |
+-----+----------+------------+----------+---------+-----------+

问题表:

+----+----------+---------------+---------------------+---------------------+                                                                             
| id | group_id | text          | updated_at          | created_at                                                                                      
+----+----------+---------------+---------------------+---------------------+
|  1 |      115 | PRVO PITANJE? | 2015-05-03 14:29:16 | 2015-05-03 14:29:16 |
| 26 |      115 | DRUGO PITANJE? | 2015-05-06 00:44:02 | 0000-00-00 00:00:00 |
+----+----------+---------------+---------------------+---------------------+

我想要的是显示这样的东西:

第1组

皮坦杰?

皮坦杰?

但也要检查用户3是否从数据透视表登录,并仅为该用户显示。我认为应该是一些JOIN项目组和问题表,然后放where user_id = Atuh::id()

有解决方案吗?:(

首先,groups上的id应该与project_group上的group_id对齐,对吗?因此,我假设"GROUP1"的id为115,而不是您所拥有的1。

第二,问题与项目有何关联?您在问题上有group_id,它似乎应该是一个项目id,但这并不确定。

选择text
questions
内部连接project_group使用(group_id(
内部连接groupsproject_group。CCD_ 18=CCD_。id
其中groupsname='GROUP1'
和CCD_ 23。user_id=3;

同样,只有将group_id更正为引用groups表上id的外键时,这才有效。在这种情况下,这应该是你想要的。