【问题标题】:Laravel Database QueryLaravel 数据库查询
【发布时间】:2014-06-04 19:07:26
【问题描述】:

我正在尝试使用 Laravel 的数据库查询生成器编写 MySQL 选择查询,如下所示:

选择项目的 author_id 等于用户的 id 或项目的 group_id 等于用户分配到的 group_id 的所有项目。

例如:

用户 1 在组 24 中。组 7 中有 3 个项目。用户 1 想要查看该组中的所有项目。

数据库表:

用户

+----+
| id |
+----+

项目

+-----------+----------+
| author_id | group_id |
+-----------+----------+

群组

+----+
| id |
+----+

groups_users_are_assigned

+---------+----------+
| user_id | group_id |
+---------+----------+

任何有关如何在单个查询中正确执行此操作的帮助都会令人惊叹。 谢谢!

【问题讨论】:

  • LavarelLaravel ?

标签: php mysql database laravel


【解决方案1】:

不想为此查询创建测试环境,但据我所知,这应该可以:

DB::table('projects')
    ->leftJoin('groups_users_are_assigned', 'projects.group_id', '=', 'groups_users_are_assigned.group_id')
    ->where('author_id', '=', $userId)
    ->orWhere('groups_users_are_assigned.user_id', '=', $userId)
    ->get()

【讨论】:

  • 非常好 - 谢谢,完美运行。 'orWhere' 需要将 equals 运算符作为第二个参数传递,并将 $userId 作为第三个参数。
猜你喜欢
  • 2021-05-09
  • 2017-01-12
  • 2017-08-30
  • 2019-05-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-11-17
相关资源
最近更新 更多