WARNING *** PLEASE READ *** 17:00 Tenant middleware no longer goes inside the ->middleware() section. This will result in Filament::getTenant() returning null. Instead, now you need to use the ->tenantMiddleware() function. Here's the documentation link so you can read all about it: filamentphp.com/docs/3.x/panels/tenancy#using-tenant-aware-middleware-to-apply-global-scopes
@jadersbrАй бұрын
Thanks for share 🥇
@Tuto190220 күн бұрын
No problem 👍
@shaungbhone83682 ай бұрын
Thank you very much. You save my day. Can you show me the database?
@Tuto19022 ай бұрын
Here's the entire code, including database migrations github.com/tuto1902/filament-multi-tenancy
@HamadAbdulla_7 Жыл бұрын
Thank you😍
@Tuto1902 Жыл бұрын
It is my absolute pleasure. I’m glad you find it helpful
@FindWebX Жыл бұрын
If the Jetstream Team, is similar to this? Thank you very much for valuable video❤❤❤
@Tuto1902 Жыл бұрын
I appreciate you watching and I'm glad you find it helpful.
@wakathepublic9 ай бұрын
can you make import excel, csv or another file for handling user in multi tenant ?
@Tuto19029 ай бұрын
I’ll make a note for it. Thanks for the suggestion
@ZAGAfricaАй бұрын
No Github Repo because there are gaps especially in your DB
@Tuto190220 күн бұрын
Probably, I wasn't focused on DB but more on quick tenancy setup. If you can elaborate on the gaps you found, I would love to hear your feedback
@jensb55196 ай бұрын
Nice and clear tutorial! But is it possible to combine this with the Filament Shield plugin?
@Tuto19026 ай бұрын
I think so. The way I see it, the shield plugin works as a second layer. First, can the user access the tenant. Second, what can the user do inside the tenant (Shield). I haven't tested this myself but I see no reason why it shouldn't work
@jonmason9024 Жыл бұрын
Is there a way to tap into whatever event is fired when a tenant is changed? I want to do something whenever a user changes the tenant, but can't find anything in the docs to see how to do it?
@Tuto1902 Жыл бұрын
I don't think there's a way to do that. At least none that I know of
@philately6 ай бұрын
@@Tuto1902 Actually, there is. Every time a new tenant is set as "active" an Filament\Events\TenantSet is fired. You can register a listener to it and you're good to go.
@ruddra_nick_biswas5 ай бұрын
Hello Can you help me with this! I want to disable user to create new team! admin will create team for them! how can I achieve that kind of functionality ??
@Tuto19024 ай бұрын
Have you tried adding a TeamPolicy with a create() method? laravel.com/docs/11.x/authorization#policy-methods Filament will enforce any policy automatically.
@EvandroNeres-t8b2 ай бұрын
What VS extensions are you using?
@Tuto19022 ай бұрын
Catppuccin for VS Code, Catppuccin Icons and all the regular Intelephense extensions.
@tahinuralam297 ай бұрын
How can I set the navigation bage count for the current tenant
@Tuto19027 ай бұрын
I would just follow the docs. All queries made on resources should be scoped to the current tenant filamentphp.com/docs/3.x/panels/navigation#adding-a-badge-to-a-navigation-item As long as the model has the tenant relationships properly configured, everything should work as expected filamentphp.com/docs/3.x/panels/tenancy#configuring-the-tenant-relationships
@WawangBprnbp Жыл бұрын
that's very helpful, thank you, but I'm having problems inputting customer data, do I have to add team_id to the customer table, and what should the relationship be like? I don't really understand how it works
@Tuto1902 Жыл бұрын
It all depends on what you’re trying to do. If your customers are going to belong to just one team, then yes. You need a team_id in the customers table and the relationship is One to Many (one team has many customers). But if the customer can have access to multiple teams, then you need a pivot table (customer_team) and the relationship is Many to Many
@WawangBprnbp Жыл бұрын
okay tanks@@Tuto1902
@augustocarvalhochavez319211 ай бұрын
I have a model called category but I would like it to be shown in all the authenticated user's teams since they can have several teams?
@Tuto190211 ай бұрын
Create a ManyToMany relationship between Category and Team. Keep in mind that filament will try to look for a relationship called team() in the Category model. But since you want a ManyToMany relationship, I would suggest a relationship called teams() and then modify the owner relationship name in the CategoryResource class protected static ?string $tenantOwnershipRelationshipName = 'teams';
@augustocarvalhochavez319211 ай бұрын
@@Tuto1902 Thank you very much for answering. So I edited the Resource and it worked for me. public static function getEloquentQuery(): Builder { $team_id= Auth::user()->teams->pluck('id'); return Category::whereIn('team_id', $team_id); }
@marianovallejos654211 ай бұрын
how solve nested relation ? All the tables need team_id record?
@Tuto190211 ай бұрын
If the records Belong To a single team, yes. If the records can Belong To Many different teams, then you need a pivot table and probably adjust the owner relationship name in the resource class filamentphp.com/docs/3.x/panels/tenancy
@rialmon11 ай бұрын
Hi Tuto, thank you very much for this tutorial! I have a question, would you like to help me?. I'm facing this error: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'db_name.team_user' doesn't exist. How do i fix it?
@rialmon11 ай бұрын
Tuto, i've just found the solution: i only needed to create a pivot table named team_user, by executing "php artisan make:migration create_team_user_table"; then i put into the schema both $table->integer('user_id') and $table->integer('team_id'); then, finally, i run the migration.
@Tuto190211 ай бұрын
That works, but this doesn't enforce the foreign keys in the database. I would recommend using $table->foreignIdFor(App\Models\User::class) and $table->foreignIdFor(App\Models\Team::class). This creates the appropriate indexes and makes the table more read efficient.
@1234321marty Жыл бұрын
How about global scope in model, can I still use it selected tenant instead of middlawere in resource?
@Tuto1902 Жыл бұрын
Yeah, that works too. I forgot to mention that option. That way you don’t need to fiddle with the panel configuration and it will give you the same results
@joeyboli Жыл бұрын
Did it work for you, it doesnt work for me
@proskillscenter95894 ай бұрын
are this method support multi domains ?
@Tuto19022 ай бұрын
Nope, this only covers single domain multi-tenancy.