rules, $this->messages); if ($v->fails()) { $this->errors = $v->messages(); return false; } // validation pass return true; } public function errors($returnArray = TRUE) { return $returnArray ? $this->errors->toArray() : $this->errors; } /** * * @param int $account_id * @param int $user_id * @param bool $ignore_user_id * @return \className */ public static function createNew($account_id = FALSE, $user_id = FALSE, $ignore_user_id = FALSE) { $className = get_called_class(); $entity = new $className(); if (Auth::check()) { if (!$ignore_user_id) { $entity->user_id = Auth::user()->id; } $entity->account_id = Auth::user()->account_id; } else if ($account_id || $user_id) { if ($user_id && !$ignore_user_id) { $entity->user_id = $user_id; } $entity->account_id = $account_id; } else { App::abort(500); } return $entity; } public function getFormatedDate($field, $format = 'd-m-Y H:i') { return $this->$field === NULL ? NULL : date($format, strtotime($this->$field)); } /** * * @param int $accountId */ public function scopeScope($query, $accountId = false) { /* * GOD MODE - DON'T UNCOMMENT! * returning $query before adding the account_id condition will let you * browse all events etc. in the system. * //return $query; */ if (!$accountId) { $accountId = Auth::user()->account_id; } $table = $this->getTable(); $query->where(function($query) use ($accountId, $table) { $query->whereRaw(\DB::raw('(' . $table . '.account_id = ' . $accountId . ')')); }); return $query; } }