【问题标题】:Laravel Has Many Returns a Row even it has a value in relations tableLaravel 有很多返回一行,即使它在关系表中有一个值
【发布时间】:2016-06-24 17:30:14
【问题描述】:

您好,我正在使用 laravel eloquent 进行数据库查询。我的问题是我无法显示我想显示的数据。我有三张桌子。说用户表、角色表和用户角色表。

用户

id |姓名 |

1 |约翰 |

2 |母鹿 |

角色

id |姓名 |

1 |管理员 |

2 |员工 |

3 |经理 |

用户角色

id |用户 ID | role_id

1 | 1 | 2

2 | 1 | 3

3 | 2 | 3

用户有许多保存在 User_Roles 表中的角色。我的查询是“我想显示没有员工角色的用户列表。在表中我只想显示 Doe。我怎样才能使它成为 laravel 雄辩的。

希望有人能帮忙!

【问题讨论】:

    标签: php model laravel-5 eloquent


    【解决方案1】:

    User 模型中定义roles 关系

    public function roles() {
        retrun $this->belongsToMany(\Namespace\Role::class);
    }
    

    找回角色

    $role = \Namespace\Role::where('name', 'Employee')->first();
    

    获取用户

    $user = \Namespace\User::whereHas('roles', function($query) use ($role) {
        $query->where('role_id', '!=', $role->id);
    })->get();
    

    【讨论】:

      猜你喜欢
      • 2021-08-18
      • 2020-04-10
      • 1970-01-01
      • 2015-01-14
      • 1970-01-01
      • 1970-01-01
      • 2016-10-12
      • 2019-02-19
      • 2018-12-04
      相关资源
      最近更新 更多