如何在另一个集合中拥有一个集合?

饱和

我有一个问题..在我的程序中,我需要一个集合User,另一个集合,其中包含用户参与的所有项目以及hours他在每个项目中工作的数量

我有 3 个表来解决这个问题:

  • users 表,很简单的搭配。
  • projects 桌子。
  • time_entries,与user_idproject_id

Aproject可以有很多time_entriesuserto。

我已经测试过了,但它不起作用:

$users = User::join('time_entries', 'users.id', '=', 'time_entries.user_id')
  ->whereBetween('spent_on', [($request->input('debut')), ($request->input('fin'))])
  ->join('projects', 'time_entries.project_id', '=', 'projects.id')
  ->selectRaw('user_id , project_id, sum(hours) as sum')
  ->get();
肯尼·霍纳

您可以使用Laravel Eloquent定义/模型之间的多对多关系UserProject

/** User.php */

public function projects()
{
    return $this
            ->belongsToMany(Project::class, 'time_entries')
            ->withPivot('hours');
}

——

/** Project.php */

public function users()
{
    return $this
            ->belongsToMany(User::class, 'time_entries')
            ->withPivot('hours');
}

然后只需访问关系:

/** UserController.php */

public function myFunction()
{
    $users = User::with('projects')->get();
    // this $users collection will have another collection inside (projects).


    $projects_of_first_user = $users->first()->projects;
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在firebase中从一个集合访问另一个集合

如何在robomongo中从另一个复制一个集合

如何在猫鼬的另一个集合中找到一个集合

如何在一个集合中查找未被另一个集合中的文档引用的MongoDB文档?

如何确定一个集合是否包含Python中的另一个集合

如何在 Laravel 中比较和更新基于另一个集合的 Eloquent 集合

如何在 mongoDB 中查询每个文档的另一个集合

如何从一个集合中获取数据并插入到 Nodejs 中的另一个集合中?

Mongodb将一个集合复制到另一个集合中

如何删除一个集合中的引用文档及其从另一个引用集合中的记录

如何查找一个dstore集合中而不是另一个dstore集合中的项目?

如何获取Firebase中另一个集合的文档中的集合

如何使用mongodb中主集合的objectID在另一个集合中查找

如何有条件地从另一个集合中删除MongoDB?

如何获取在另一个枚举中声明的所有嵌套枚举的集合或数组?

如何用 C# 中的另一个集合值填充一个空的对象集合

如何基于Python中的另一个集合对集合进行排序?

如何使用另一个集合中的信息过滤MongoDB集合?

如何将集合添加到Cloud Firestore中的另一个集合?

如何将集合复制到 mongoDB 中的另一个新集合

如何从另一个集合中获取基于列的集合?

如何通过与另一个集合的交集将一个集合分成两个集合?

从集合中删除另一个集合中存在的集合

基于另一个集合中的条件聚合

从集合中获取另一个元素(Python)

Laravel集合循环到另一个集合

如何使用集合理解在集合中查找不在另一个集合中的单个元素

如何使用mongodb合并两个集合结果和另一个集合

在Firestore中创建一个文档,其中包含对另一个集合中现有文档的引用