Laravel 获取关系具有值(value)的模型集合

标签 laravel orm eloquent

我正在尝试为我的 Laravel 网络应用制作一个更详细的注册表单。
我有一个 CategoryQuestionSurvey 模型。
一个类别 hasMany Question 和一个 Question belongsTo 一个 Survey

类别类:

public function questions()
{
    return $this->hasMany('App\Question');
}

public function getUsingAttribute()
{
    return $this->questions->contains('survey_id', Survey::current()->id);
}

我的 Category 类中目前确实有一个 using 属性,但我想将其设为范围。
需要明确的是,Category::using->get() 的预期返回将返回所有 Category,其中至少有一个问题具有 survey_idSurvey::current()

最佳答案

我会用 query a relationship existence 可用的方法之一来做。 ,特别是 whereHas() 方法:

return $this->whereHas('questions', function ($query){
    $query->where('survey_id', Survey::current());
});

关于Laravel 获取关系具有值(value)的模型集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43298067/

相关文章:

php - Laravel - 交互式用户设置

java - Hibernate自定义 validator ,如何设置propertyPath?

php - Laravel 通过多列分组获取最新记录

mysql - 如何获取搜索结果中的所有列值(包括分页)

laravel - 如何从 Laravel 的集合中计算不同的值?

apache - 使用 Laravel 5.1 安装 phpMyAdmin

php - 从 div 获取表单输入 laravel 的内容

mysql - Laravel 架构构建器 INT(11) on integer() 和 INT(10) on unsignedInteger()

php - 使用过多内存问题的 Doctrine 事务

java - 从 JPA 实体逆向工程 DDL