我有groups
表project_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
(
内部连接groups
和project_group
。CCD_ 18=CCD_。id
其中groups
。name
='GROUP1'
和CCD_ 23。user_id
=3;
同样,只有将group_id
更正为引用groups
表上id
的外键时,这才有效。在这种情况下,这应该是你想要的。