snipe-it/app/Models/CompanyableChildScope.php

41 lines
957 B
PHP
Raw Normal View History

2016-03-25 01:18:05 -07:00
<?php
2016-03-25 01:18:05 -07:00
namespace App\Models;
use Illuminate\Database\Eloquent\Builder;
2016-03-25 01:18:05 -07:00
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Scope;
2016-03-25 01:18:05 -07:00
2016-04-07 13:21:09 -07:00
/**
* Handle query scoping for full company support.
*
* @todo Move this to a more Laravel 5.2 esque way
* @version v1.0
*/
2016-03-25 01:18:05 -07:00
final class CompanyableChildScope implements Scope
{
/**
* Apply the scope to a given Eloquent query builder.
*
* @param \Illuminate\Database\Eloquent\Builder $builder
* @return void
*/
public function apply(Builder $builder, Model $model)
{
$model = $builder->getModel();
2016-03-25 01:18:05 -07:00
return Company::scopeCompanyableChildren($model->getCompanyableParents(), $builder);
}
/**
* @todo IMPLEMENT
* Remove the scope from the given Eloquent query builder.
*
* @param \Illuminate\Database\Eloquent\Builder $builder
* @return void
*/
public function remove(Builder $builder)
{
}
}