0

我有两个对象,比如说PostTag一个多对多的关系。

基于标签集合,我想选择与(1)任何标签或(2)集合中的所有标签匹配的所有帖子。

有没有一种简单的方法可以在 Laravel 中执行这些查询(最好使用 Eloquent)?

4

1 回答 1

-1

你查询你想要的标签,然后你可以遍历每个标签帖子

$tags = Tag::where('name','=','Laravel 4')->get();
foreach($tags as $tag)
{
    foreach($tag->posts as $post)
    {
        echo $post->name;
    }
}

这是假设您有适当的关系和数据透视表设置。

您还可以根据某些帖子急切加载某些标签...

$posts = Post::where('name','=','Some post name') ->with(array('tags' => function($query) { $query = $query->where('tag_name','=','Laravel'); }))->get();

foreach($posts as $post)
{
    foreach($post->tags as $tag)
    {
        echo $tag->tag_name;
    }
}
于 2013-09-10T21:13:49.460 回答