Get the App
SLTechnology News&Howtos  ›  Development  › 

How to define an intermediate table with timestamp in Laravel many-to-many relationship

Shulou Source: shulou.com Published: 2022-06-01 06:00:04 09月30日 Update

Xiaobian to share with you how to define the middle table with time stamp in Laravel many-to-many relationship, I believe most people still do not know how, so share this article for your reference, I hope you have a lot of harvest after reading this article, let's find out together!

Many-to-many: middle table with time stamp

Timestamps are not automatically populated when in many-to-many associations, such as role_user in the middle of users and roles tables.

In this model you can define relationships like this:

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

Then when you want to add a role to a user, you can use it like this:

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

By default, this intermediate table does not contain timestamps. And Laravel does not try to auto-populate created_at/updated_at

But if you want to save timestamps automatically, you need to add created_at/updated_at to the migration file, and then add->withTimestamps() to the model associations;

public function roles(){ return $this->BelongsToMany(Role::class)->withTimestamps();} The above is "How to define timestamped intermediate tables in Laravel many-to-many relations" All the contents of this article, thank you for reading! I believe that everyone has a certain understanding, hope to share the content to help everyone, if you still want to learn more knowledge, welcome to pay attention to the industry information channel!

Tags: Time articles content models users roles associations not much most situations documents more knowledge industry information channels channels user tables references learning Apple Docker Huawei Linux macOS MariaDB Microsoft MySQL NVidia OPPO Reno Docker Shulou Tech Info Microsoft NVidia MySQL