Comments (5)
@hipsterjazzbo ping
from landlord.
This trait for Laravel Spark by @dillinghamio may be of interest, since Spark functions that way (a User
can belong to multiple Teams
).
from landlord.
@tnorthcutt The trait doesn't allow multiple teams. It has basically the same functionality as this package.
from landlord.
That's outside the scope of this package. This package is specifically designed to make it easy to segregate entities into single boxes. Having said that, it might work?
from landlord.
Hi,
I am having the same issue. This is my scenario
Contact can register for multiple events and event has many Contacts
Contact Table
id
Event Table
id
Contact_Event table
id
contact_id
event_id
In my Contact model, I have this relationship defined
public function contactEvents()
{
return $this->hasMany(\App\Models\ContactEvent::class);
}
This is what I have done and it worked for me (note that I am very new to Laravel so not sure if my solution is a good solution)
Introduce a new variable in the Contact table, or any table that has the Many to Many relationship with pivot table
public $tenantPivotTable = 'contactEvents'; //(note that the value of this variable is the relationship defined in the model
Add a new function in the Hipster BelongsToTenants.php file to get the relationship
public function getTenantPivotTable()
{
return isset($this->tenantPivotTable) ? $this->tenantPivotTable : null;
}
Modify functions public function applyTenantScopes(Model $model) and public function applyTenantScopesToDeferredModels() by removing this line
$builder->where($model->getQualifiedTenant($tenant), '=', $id);
and replacing it by
if ($model->getTenantPivotTable()) {
$builder->has($model->getTenantPivotTable());
/$builder->whereHas($model->getTenantPivotTable(), function($query) use ($model, $tenant, $id) {
//$query->where($model->getQualifiedTenant($tenant), '=', $id);
});/
} else {
$builder->where($model->getQualifiedTenant($tenant), '=', $id);
}
That's it. I can now filter Many to Many relationship using pivot table.
Hope it helps.
from landlord.
Related Issues (20)
- how do we get current talnet?
- Still active? HOT 9
- Preserve tenant ID when executing queued job HOT 1
- Scope is not applied when model is instantiated via dependency injection within controller HOT 1
- Laravel 5.8 Support HOT 1
- Tenant Breaks when used with ModelObserver
- Example Middleware for Laravel 5.5 HOT 2
- BelongsToTenant not working on user model HOT 2
- WIth multiple tenants Landlord uses first tenant id for the other tenant scopes HOT 3
- Class landlord not found - Laravel 5.5 HOT 1
- Tenants getting mixed up HOT 1
- Multitenant not working with User model HOT 4
- Make Macroable
- Creating new Tenant scoped Models HOT 3
- Support Laravel 5.6 HOT 4
- Call allTenants() on a relationship HOT 1
- not working
- I am trying to install in Laravel 5.6 HOT 5
- Landlord does not work in Laravel 5.6 HOT 1
- Can't set $tenantColumns in model
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from landlord.