How to define an intermediate table with timestamp in Laravel many-to-many relationship
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!