我正在尝试根据子对象上引用的ID从数据库中获取特定项目。
我有一个Shoutout表,每个shoutout由多个Hashtags组成。 所以到目前为止我有这个:
public function shoutoutSpecific($hashtag) {
$hashtags = Hashtag::whereHashtag($hashtag)->get();
$shoutouts = '';
return view('shoutout', compact('shoutouts'));
}
但是这只给了我标签,每个标签都引用了特定的shoutout。我需要得到shoutout,标签通过ID引用它。
但是我想知道是否有办法获得shoutouts,其中shoutouts有一个引用它们的特定主题标签。 类似的东西:
Shoutouts = Shoutout::whereHashtag-referenced($hashtag)->get();
答案 0 :(得分:1)
如果您的Shoutout
班级的hasMany
关系为:
Shoutout.php
public function hashtags()
{
return $this->hasMany(App\Hashtag::class);
}
然后你可以尝试:
Shoutouts = Shoutout::whereHas('hashtags', function($q) use($hashtag) {
$q->whereHashtag($hashtag);
})->get();