<legend id='AN8Om'><style id='AN8Om'><dir id='AN8Om'><q id='AN8Om'></q></dir></style></legend>
  1. <small id='AN8Om'></small><noframes id='AN8Om'>

    1. <tfoot id='AN8Om'></tfoot>
        <bdo id='AN8Om'></bdo><ul id='AN8Om'></ul>
    2. <i id='AN8Om'><tr id='AN8Om'><dt id='AN8Om'><q id='AN8Om'><span id='AN8Om'><b id='AN8Om'><form id='AN8Om'><ins id='AN8Om'></ins><ul id='AN8Om'></ul><sub id='AN8Om'></sub></form><legend id='AN8Om'></legend><bdo id='AN8Om'><pre id='AN8Om'><center id='AN8Om'></center></pre></bdo></b><th id='AN8Om'></th></span></q></dt></tr></i><div id='AN8Om'><tfoot id='AN8Om'></tfoot><dl id='AN8Om'><fieldset id='AN8Om'></fieldset></dl></div>

      Eloquent 多对多对多 - 如何轻松加载远距离关系

      时间:2023-09-24

      <small id='xPint'></small><noframes id='xPint'>

          <bdo id='xPint'></bdo><ul id='xPint'></ul>

            • <tfoot id='xPint'></tfoot>
                <tbody id='xPint'></tbody>
                <legend id='xPint'><style id='xPint'><dir id='xPint'><q id='xPint'></q></dir></style></legend>
              1. <i id='xPint'><tr id='xPint'><dt id='xPint'><q id='xPint'><span id='xPint'><b id='xPint'><form id='xPint'><ins id='xPint'></ins><ul id='xPint'></ul><sub id='xPint'></sub></form><legend id='xPint'></legend><bdo id='xPint'><pre id='xPint'><center id='xPint'></center></pre></bdo></b><th id='xPint'></th></span></q></dt></tr></i><div id='xPint'><tfoot id='xPint'></tfoot><dl id='xPint'><fieldset id='xPint'></fieldset></dl></div>
                本文介绍了Eloquent 多对多对多 - 如何轻松加载远距离关系的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

                问题描述

                我有 3 张桌子;用户、组和权限

                I have 3 tables; users, groups and permissions

                在模型中,我将关系设置为belongsToMany在用户模型中:

                In models I have the relationships set as belongsToMany in user model:

                public function groups() {
                    return $this->belongsToMany('Group');
                }
                

                在组模型中:

                public function users() {
                    return $this->belongsToMany('User');
                }
                
                public function permissions() {
                    return $this->belongsToMany('Permission');
                }
                

                在权限模型中:

                public function groups() {
                    return $this->belongsToMany('Group', 'id');
                }
                

                许多用户 - 到 - 许多组许多组-对-许多权限

                many users - to - many groups many groups - to - many permissions

                我正在尝试获取用户拥有的所有权限,但不知道它的代码应该是什么样子.有人可以帮忙吗?

                I'm trying to get all the permissions a user has, and have no clue what the code for it should look like. Can anyone help?

                推荐答案

                您可以这样做:

                User::where('id', $id)->with(['groups.permissions' => function ($q) use (&$permissions) {
                     $permissions = $q->get()->unique();
                }])->first();
                
                // then
                $permissions; // collection of unique permissions of the user with id = $id
                

                这篇关于Eloquent 多对多对多 - 如何轻松加载远距离关系的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持html5模板网!

                上一篇:Eloquent 模型大规模更新 下一篇:Order By before Group By 使用 Eloquent (Laravel)

                相关文章

                最新文章

              2. <tfoot id='8fFlc'></tfoot>
                <legend id='8fFlc'><style id='8fFlc'><dir id='8fFlc'><q id='8fFlc'></q></dir></style></legend>

                1. <i id='8fFlc'><tr id='8fFlc'><dt id='8fFlc'><q id='8fFlc'><span id='8fFlc'><b id='8fFlc'><form id='8fFlc'><ins id='8fFlc'></ins><ul id='8fFlc'></ul><sub id='8fFlc'></sub></form><legend id='8fFlc'></legend><bdo id='8fFlc'><pre id='8fFlc'><center id='8fFlc'></center></pre></bdo></b><th id='8fFlc'></th></span></q></dt></tr></i><div id='8fFlc'><tfoot id='8fFlc'></tfoot><dl id='8fFlc'><fieldset id='8fFlc'></fieldset></dl></div>

                    <small id='8fFlc'></small><noframes id='8fFlc'>

                      <bdo id='8fFlc'></bdo><ul id='8fFlc'></ul>