根据对象ID获取项目(Laravel)

时间:2016-11-10 17:03:35

标签: php laravel

我正在尝试根据子对象上引用的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();

1 个答案:

答案 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();