One Hat Cyber Team
Your IP :
18.220.222.38
Server IP :
192.145.235.60
Server :
Linux ngx365.inmotionhosting.com 5.14.0-427.33.1.el9_4.x86_64 #1 SMP PREEMPT_DYNAMIC Fri Aug 30 09:45:56 EDT 2024 x86_64
Server Software :
Apache
PHP Version :
8.2.27
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
home
/
centos12
/
public_html
/
centosuit
/
app
/
Scopes
/
View File Name :
CompanyScope.php
<?php namespace App\Scopes; use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Scope; class CompanyScope implements Scope { public function apply(Builder $builder, Model $model) { // Check if model has company method which comes from HasCompany Trait. // If that has method then it has company otherwise it do not have company id // and we can simply return from here if (!method_exists($model, 'company')) { return $builder; } // When user is logged in // auth()->user() do not work in apply so we have use auth()->hasUser() if (auth()->hasUser()) { $company = company(); // We are not checking if table has company_id or not to avoid extra queries. // We need to be extra careful with migrations we have created. For all the migration when doing something with update // we need to add withoutGlobalScope(CompanyScope::class) // Otherwise we will get the error of company_id not found when application is updating or modules are installing if ($company) { $builder->where($model->getTable() . '.company_id', '=', $company->id); } } } }