Laravel获得了关系具有价值的模型集合

时间:2017-04-08 17:14:52

标签: 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()

2 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:0)

怎么样?
return $this->questions->where('survey_id', Survey::current()->id);