Now, let's filter the records by my current team. For that, we will add tenant_id
column to all the DB tables that should be "tenantable". We create a Trait, and this will be a lesson about Traits and Scopes, similar like we had in one earlier lesson.
So, let's generate two migrations to add tenant_id
to projects
and tasks
tables.
php artisan make:migration "add tenant id to projects table"php artisan make:migration "add tenant id to tasks table"
database/migrations/xxx_add_tenant_id_to_projects_table.php:
Schema::table('projects', function (Blueprint $table) { $table->foreignId('tenant_id')->constrained();});
database/migrations/xxx_add_tenant_id_to_tasks_table.php:
Schema::table('tasks', function (Blueprint $table) { $table->foreignId('tenant_id')->constrained();});
Now, let's create a trait, FilterByTenant
.
php artisan make:trait Traits/FilterByTenant
We will use the same booted()
method for...