Laravel 4:选择多对多的关系

时间:2014-06-02 08:19:18

标签: php laravel laravel-4 many-to-many

我在一个博客项目上工作,这个项目在“posts”和“cats”表之间有许多关系(带有枢轴表)

posts:
    id
    title
    topic

cats:
    id
    name

cat_post:
    post_id
    cat_id

我正确准备模型, 那么,如何选择特定类别的所有帖子?我试过了:

Cat::with('post')->where('id', '=', '3')->get();

Post::with('cat')->whereId('3')->get();

但还没有,

2 个答案:

答案 0 :(得分:2)

这更好/更短:

$cats = Cat::with('post')->find(3);

<强>更新

$cats = Cat::with(array('post' => function($q) { // make sure posts not post
    $q->orderBy('id', 'desc'); // order the posts
}))->find(3); // No need to order a single model

答案 1 :(得分:0)

刚刚找到答案

$cats = Cat::with('post')->whereId(3)->first();

然后在刀片中检索它:

@foreach($cats->post as $post)
    {{$post->title}}
@endforeach

感谢,