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

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

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

下面我 举的 例子为 hasMany

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

users 表结构如下

laravel 模型关联 的简单使用方法_第1张图片

posts 表结构如下

laravel 模型关联 的简单使用方法_第2张图片

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

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

如下方法就可以了

laravel 模型关联 的简单使用方法_第3张图片

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



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 其实和 一对多差不多

也是如下



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 的 外键和主键

你可能感兴趣的:(laravel)