【问题标题】:Laravel eloquet check non existing many to many relationLaravel eloquent 检查不存在的多对多关系
【发布时间】:2022-01-12 12:08:31
【问题描述】:

我在 laravel eloquent ORM 中编写查询时遇到了麻烦。

我有一个项目表,您可以在其中以多对多关系分配用户

在分配用户的视图中,我有一个选择器,但我只想显示尚未分配给项目的用户,并检查用户是否属于创建项目的公司 (user.company_id=proyect_id)

在正常查询中,我应该像这样,从控制器获得 $company_id 和 $proyect_id。

select * from users u left join proyect_user pu on u.id=pu.user_id and pu.proyect_id = $proyect_id 其中 u.company_id=$company_i 和 proyect_id 为空;

查询有效,但我想使用 Eloquent。 ¿ 知道怎么做吗?

【问题讨论】:

    标签: laravel eloquent eloquent-relationship


    【解决方案1】:

    这取决于您如何在 User 模型中声明关系。但我会做这样的事情:

    $users = User::whereHas('company', function ($query) use ($companyId) {
        $query->where('id', $companyId)
     })->whereDoesntHave('proyects', function ($query) use ($proyectId) {
        $query->where('id', $proyectId);
     })->get();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-08-17
      • 2019-06-13
      • 2017-07-17
      • 2017-11-03
      • 2014-05-28
      • 1970-01-01
      • 2019-03-26
      • 1970-01-01
      相关资源
      最近更新 更多