我正在尝试为我的Laravel网络应用程序制作更精细的注册表单
我有一个Category
,Question
和Survey
型号
一个类别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_id
为Survey::current()
答案 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);