1234567891011121314151617181920212223242526272829303132333435363738 |
- <?php
- namespace App\ModelFilters;
- use App\Models\Asset;
- use App\Models\Project;
- use App\Models\ProjectAsset;
- use EloquentFilter\ModelFilter;
- class ProjectAssetFilter extends ModelFilter
- {
- /**
- * Related Models that have ModelFilters as well as the method on the ModelFilter
- * As [relationMethod => [input_key1, input_key2]].
- *
- * @var array
- */
- public $relations = [];
- public function apply($query)
- {
- return $query;
- }
- public function asset($assetId){
- $asset = Asset::find($assetId);
- $assetIds=[];
- if ($asset){
- $assetIds = Asset::where('path','like',"%{$asset->path}%")->get('id');
- }
- return $this->whereIn('asset_id',$assetIds);
- }
- public function status($status){
- $projectIds = Project::where('status',$status)->get('id');
- return $this->whereIn('project_id',$projectIds);
- }
- }
|