/**
  * Sets the tenant id automatically when creating models
  *
  * @param Model|ScopedByTenant $model
  */
 public function creating(Model $model)
 {
     // If the model has had the global scope removed, bail
     if (!$model->hasGlobalScope(new TenantScope())) {
         return;
     }
     // If there is no tenant set, bail
     if (is_null(TenantScope::getTenantId())) {
         return;
     }
     // Otherwise, scope the new model
     $model->{$model->getTenantColumn()} = TenantScope::getTenantId();
 }
 /**
  * Prepare a raw where clause. Do it this way instead of using where()
  * to avoid issues with bindings when removing.
  *
  * @return string
  */
 public function getTenantWhereClause()
 {
     $tenantColumn = $this->getQualifiedTenantColumn();
     $tenantId = TenantScope::getTenantId();
     return "{$tenantColumn} = '{$tenantId}'";
 }
Пример #3
0
 /**
  * @expectedException \AuraIsHere\LaravelMultiTenant\Exceptions\TenantColumnUnknownException
  */
 public function testGetTenantIdThrowsException()
 {
     $scope = new TenantScope();
     $scope->getTenantId('column');
 }