data = $data; $this->code = $code; $this->msg = $msg; } public static function make($data = [], $code = ERROR_CODE_OK, $msg = "Ok") { return new static($data, $code, $msg); } public function getCode() { return $this->code; } public function setCode($code) { $this->code = $code; return $this; } public function getData() { return $this->data; } public function setData($data = []) { $this->data = $data; return $this; } public function getMsg() { return $this->msg; } public function setMsg($msg) { $this->msg = $msg; return $this; } public function isSuccess() { return $this->code === ERROR_CODE_OK; } public function isError() { return !$this->isSuccess(); } public function toArray() { return ['code' => $this->code, 'desc' => $this->msg, 'data' => $this->data]; } public function getDataAsCollection() { return Collection::make($this->data); } public function setDataField($field, $value) { Arr::set($this->data, $field, $value); return $this; } public function getDataField($field, $default = []) { return Arr::get($this->data, $field, $default); } public function hasDataField($field) { return Arr::has($this->data, $field); } }