连接表和显示结果[Laravel 5](join tables and display result

2019-10-23 05:15发布

我有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 |
+----+----------+---------------+---------------------+---------------------+

我想是为了显示是这样的:

GROUP 1

第一个问题?

另一个问题?

而且,以检查是否用户3从枢轴表和显示,仅仅针对该用户已登录。 我觉得应该是一些JOIN project_group和问题表,然后把where user_id = Atuh::id()

任何解决方案? :)

Answer 1:

首先,你的idgroups应该要对齐group_idproject_group ,对不对? 所以,我会认为“硫基”为115号,而不是1,你拥有它。

其次,如何做的问题涉及到的项目? 你已经group_id上的问题,这似乎像它应该是一个项目的ID,但是这不是一定的。

SELECT text
FROM questions
INNER JOIN project_group使用( group_id
INNER JOIN groups ON project_groupproject_id = groupsid
WHERE groupsname = 'GROUP1'
project_groupuser_id = 3;

同样,如果你正确的,这只会工作group_id是一个外键引用idgroups表。 在这种情况下,这应该做你想做的。



文章来源: join tables and display result [Laravel 5]