Mercurial > packages > framework
view src/Traits/Filterable.php @ 1:56d9c64d64aa
Setting up the base, still have plenty of work to be done here.
| author | luka |
|---|---|
| date | Mon, 09 Jun 2025 23:07:17 -0400 |
| parents | |
| children | b44434aaa767 |
line wrap: on
line source
<?php namespace Wizard\Framework\Traits; trait Filterable { protected static $filters = []; // End goal: 'column_name' 'operator' 'value' // string: name LIKE '%test%' // value: id = 3 // date: // // // table // column // operator ? based on the value? // value // required joins // public function scopeFilter($query, $validated) { $filters = static::$filters; foreach ($filters as $key => $filter) { if (isset($validated[$key])) { if (isset($filter['callback'])) { } else { switch ($filter['type']) { case 'value': default: $this->valueFilter($query, $filter, $validated[$key]); } } } } } public function valueFilter($query, $filter, $value) { $query->where($filter['table'].'.'.$filter['column_name'], '=', $value); } // filter for dates public function dateFilter() {} }
