千家信息网

Laravel多对多关系中怎么定义带时间戳的中间表

发表于:2025-01-20 作者:千家信息网编辑
千家信息网最后更新 2025年01月20日,小编给大家分享一下Laravel多对多关系中怎么定义带时间戳的中间表,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!多对多:
千家信息网最后更新 2025年01月20日Laravel多对多关系中怎么定义带时间戳的中间表

小编给大家分享一下Laravel多对多关系中怎么定义带时间戳的中间表,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

多对多:带时间戳的中间表

当在多对多的关联中,时间戳不会自动填充,例如 用户表 users 和 角色表 roles 的中间表 role_user。

在这个模型中您可以这样定义关系:

class User extends Model{  public function roles()  {    return $this->belongsToMany(Role::class);  }}

然后当你想用户中添加角色时,可以这样使用:

$roleID = 1;$user->roles()->attach($roleID);

默认情况下,这个中间表不包含时间戳。并且 Laravel 不会尝试自动填充 created_at/updated_at
但是如果你想自动保存时间戳,您需要在迁移文件中添加 created_at/updated_at,然后在模型的关联中加上 ->withTimestamps();

public function roles(){  return $this->belongsToMany(Role::class)->withTimestamps();}

以上是"Laravel多对多关系中怎么定义带时间戳的中间表"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

0