Closed shadoWalker89 closed 7 years ago
@HipsterJazzbo ping
This trait for Laravel Spark by @dillinghamio may be of interest, since Spark functions that way (a User
can belong to multiple Teams
).
@tnorthcutt The trait doesn't allow multiple teams. It has basically the same functionality as this package.
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?
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.
Hi,
The idea is the following. A
Teacher
model can belong to multipleSchools
at the same time.Having
school_id
on theteachers
table will not be enough.Is it possible to support storing tenant values in a pivot table ?