gpt4 book ai didi

mysql - 使用 Laravel 4 和 mySQL 根据父记录检索所有子记录

转载 作者:行者123 更新时间:2023-11-29 23:52:36 28 4
gpt4 key购买 nike

我正在了解 Laravel 和 Eloquent,它非常强大。然而我似乎无法弄清楚以下内容。这是我的数据库结构:

Companies--Projects--Blocks<-user_block->Users

所以一家公司有很多项目
项目属于一家公司
一个项目有很多 block
一个区 block 属于一个项目
用户属于多个 block
block 属于许多用户
(使用数据透视表在用户和 block 之间进行多对多)。

我想提取属于项目的所有用户。我可以毫无问题地拉出属于某个 block 的所有用户,但要向上一级工作 - 我该如何做到这一点?

在我的 MessageController 中,我执行了以下操作:
$users = User::with(' block ')
->where('company_id','=',3)
->orderBy('姓氏','asc')
->获取();

不知何故,我想将项目 ID 传递给我的查询,并仅检索属于该项目的任何 block 中的用户(然后我用它来发送消息)。

最佳答案

我相信我找到了答案:

$users = User::select('users.id 作为 user_id', 'users.email 作为电子邮件')
-> 不同的()
->join('user_block', 'users.id', '=', 'user_block.user_id')
->join('blocks', 'user_block.block_id', '=', 'blocks.id')
->where('blocks.project_id','=',$project_id)
->获取();
我在其中传递了project_id来限制返回的记录。

我仍然可以访问 Blade 模板中的模型来调用一个函数,该函数检查哪些用户已上传每个 block 的所有必需文档。

关于mysql - 使用 Laravel 4 和 mySQL 根据父记录检索所有子记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25538963/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com