您的位置:首页 > 编程语言 > PHP开发

laravel 模型关联 的简单使用方法

2017-07-09 18:46 881 查看

众所周知 模型关联是我们在做项目的时候会经常使用到的一个功能 laravel 就为我们提供了 简单又高效的 模型关联的方法

下面我来简单的介绍一下 这些方法

下面我 举的 例子为 hasMany

我的数据库里 有一张 users(用户) 表 和 posts(文章)表

users 表结构如下



posts 表结构如下



大家可以清楚的看到 一个user(用户) 是可以有多个post(文章) 所以用户和文章的关系是一对多

怎么在laravel框架中实现 一对多 hasMany 关联呐 其实也非常的简单

如下方法就可以了



在 user 模型中 新建一个 posts 方法 然后如下

<?php

namespace App\Models;

use Illuminate\Foundation\Auth\User as Authenticatable;
use Illuminate\Database\Eloquent\Model;

class User extends Authenticatable
{
protected $fillable = ['name', 'email', 'password'];
public function posts()
{
return $this->hasMany('App\Models\Post', 'user_id', 'id');
}
}


即可实现 一对多的关联 注意 $this>hasMany 的第二个 和 第三个参数 是 posts表的 外键和主键

反向 一对多 belongsTo 其实和 一对多差不多

也是如下

<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Model;

class Post extends Model
{

protected $fillable = ['title', 'content', 'user_id'];
public function user()
{
return $this->belongsTo('App\Models\User', 'user_id', 'id');
}
}


但是 $this->belongsTo 的第二个参数 和 第三个 参数 还是 posts 的 外键和主键

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息