Laravel数据库关系

时间:2014-04-30 12:28:49

标签: laravel

嘿我想在我的帖子表和我的类别表之间建立关系。但我无法让它发挥作用。

这是我的代码:

Posts.php (model)

<?php
class Post extends Eloquent
{
    protected $table = "posts";

    public function categorie()
    {
        return $this->BelongsTo('Categorie');
    }
}

...

Categorie.php (model)

<?php
class Categorie extends Eloquent
{
    protected $table = "categories";

    public function posts()
    {
        return $this->hasMany('Post');
    }
}

...

PageController.php (controller)

<?php
class PageController extends BaseController
{
    public function getIndex()
    {
        $posts = Post::all();
        return View::make('layout.index')->with('posts', $posts);
    }
}

如何使用他们所属的类别显示我的所有帖子? 我知道如果我做$post = Post::find(1)->categorie它会返回属于帖子ID 1的类别,但我想返回所有带有类别的帖子

1 个答案:

答案 0 :(得分:1)

您需要在呼叫所有帖子时加载关系。

$posts = Post::with('categorie')->get();

此外,该方法为belongsTo而不是BelongsTo

另外,只是旁注。单数是类别,复数是类别。我的模型名为Category,关系称为category