Laravel Query关系

时间:2014-09-26 22:53:44

标签: php laravel laravel-4

我正在尝试确定以下表格中的数据库关系:

posts
======
id 
type_id
title 
content


posts_type
==========
id 
type_name

type_idposts_type(id)相同,每个帖子只有一种类型, 我如何在Laravel中定义它是一对一的关系?

由于

1 个答案:

答案 0 :(得分:2)

您可以使用One-To-Many关系,例如:

模型PostType

class PostType extends Eloquent {

    protected $table = 'posts_type';

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

}

// Get PostType (whereId=1) with all related posts
$postType = PostType::with('posts')->find(1);

模型Post

class Post extends Eloquent {

    protected $table = 'posts'; // Optional

    public function postType()
    {
        return $this->belongs('PostType', 'type_id', 'id');
    }

}

// Get Post (whereId=1) with it's related PostType
$post = Post::with('postType')->find(1);