attributes['errors'] = json_encode($value); return $this; } public function getParamsAttribute($value) { return json_decode($value); } public function setParamsAttribute($value) { $this->attributes['params'] = json_encode($value); return $this; } public function scopeStatusError($query) { return $query->where("status", "LIKE", 'error'); } public function scopeStatusReboot($query) { return $query->where("status", "LIKE", 'reboot'); } public function scopeStatusStart($query) { return $query->where("status", "LIKE", 'start'); } public function scopeStatusStop($query) { return $query->where("status", "LIKE", 'stop'); } public function scopeIfName($query, $name = '') { return $query->where("name", "LIKE", $name); } public function scopeIfDefaultCronManager($query) { return $query->where("name", "LIKE", CronTabs::DEFAULT_CRON_MANAGER_NAME); } public function scopeUpdateStatus($query, $status = 'stop', $params = []) { return $query->update(['status' => $status, 'params' => json_encode($params)]); } public function scopeAddError($query, $errorMessage = '') { $errorList = $this->errors; $errorList[] = $errorMessage; return $query->update(['errors' => json_encode($errorList), 'status' => 'error']); } public function scopeCleanErrors($query) { $errorList = []; return $query->update(['errors' => json_encode($errorList)]); } }