$value) { if (!in_array($key, $this->fillable)) { unset($aItem[$key]); } } return $aItem; } function addItem($aItem): Model|\Illuminate\Database\Eloquent\Builder|bool { $aItem = $this->checkColInFill($aItem); if (empty($aItem)) return false; return $this->newQuery()->create($aItem); } function addItemWithCreateTime($aItem,$col = 'created_at'): Model|\Illuminate\Database\Eloquent\Builder|bool { $aItem = $this->checkColInFill($aItem); if (empty($aItem)) return false; $aItem[$col] = date('Y-m-d H:i:s'); return $this->newQuery()->create($aItem); } function delItem($id) { return $this->newQuery()->where($this->primaryKey, $id)->delete(); } function updateItem($aItem,$col = null): bool|int { if(!$col) $col = $this->primaryKey; $aItem = $this->checkColInFill($aItem); if (empty($aItem)) return false; if (isset($aItem[$col])) return false; return $this->newQuery()->where($col,$aItem[$col])->update($aItem); } function findItem($id,$col=['*']): Model|\Illuminate\Database\Eloquent\Collection|\Illuminate\Database\Eloquent\Builder|array|null { return $this->newQuery()->find($id,$col); } function findItemByWhere($aWhere,$col=['*']): Model|\Illuminate\Database\Eloquent\Collection|\Illuminate\Database\Eloquent\Builder|array|null { return $this->newQuery()->where($aWhere)->first($col); } function getItemsByWhere($aWhere,$col=['*']): \Illuminate\Database\Eloquent\Collection|array { return $this->newQuery()->where($aWhere)->get($col); } }