【问题标题】:laravel pulling data from databaselaravel 从数据库中提取数据
【发布时间】:2016-12-02 10:23:13
【问题描述】:

我仍在尝试使用whereHas() 方法。我的情况是这样的。我想拉出所有属于类的用户

这是关系

类模型

public function users() {
    return $this->belongsToMany('App\User')->withTimestamps();
}

用户模型

public function classes() {
    return $this->belongsToMany('App\Classes')->withTimestamps();
}

控制器

$class_us = User::whereHas('classes', function ($query) {
    $query->where('class',1);
})->get();

当我执行dd($class_us) 时,我得到一个空集合。

我该如何解决这个问题?

谢谢。

【问题讨论】:

  • 不就是Users可以belongsToManyClasses但同时ClasseshasManyUsers吗?

标签: php laravel laravel-5 laravel-5.2


【解决方案1】:

在 whereHas 中,构建器实例来自相关模型,因此,

$class_us = User::whereHas('classes', function ($query) {
            // here the builder belongs to Class model not User model
            $query->where('id',1); // id because classes table has column as id
        })->get();

【讨论】:

  • 它仍然给出一个空集合
  • 如果您的 users_classes 中间表至少有 1 条记录 class_id = 1 ,您可以检查 db 吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-07-14
  • 1970-01-01
  • 2018-01-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多