123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- <?php
- namespace App\ModelFilters;
- use EloquentFilter\ModelFilter;
- use Illuminate\Support\Facades\Auth;
- class TaskFilter 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 project(string $project): TaskFilter
- {
- return $this->where("tasks.project_id", $project);
- }
- public function status(string $status): TaskFilter
- {
- return $this->where("status", $status);
- }
- public function asset(string $asset): TaskFilter
- {
- return $this->where("asset_id", $asset);
- }
- public function requirementGroup(string $group): TaskFilter
- {
- return $this->where("requirement_group_id", $group);
- }
- public function my(string $my): TaskFilter
- {
- return $my == "yes" ? $this->where("assign", Auth::id()) : $this;
- }
- public function linkRequirement($link): TaskFilter
- {
- return match($link) {
- "yes" => $this->where("requirement_id", ">", 0),
- "no" => $this->where("requirement_id", "=", 0),
- default => $this,
- };
- }
- }
|