input = $input; } /** * @param string $attribute * @param mixed $value * @return bool */ public function passes($attribute, $value) { return $this->checkIfExpenseNumberUnique(); //if it exists, return false! } /** * @return string */ public function message() { return 'Expense number already taken'; } /** * @return bool */ private function checkIfExpenseNumberUnique() : bool { if(empty($this->input['number'])) return true; $expense = Expense::query() ->where('number', $this->input['number']) ->withTrashed(); // if(isset($this->input['client_id'])) // $expense->where('client_id', $this->input['client_id']); return $expense->exists(); // $expense = Expense::where('client_id', $this->input['client_id']) // ->where('number', $this->input['number']) // ->withTrashed() // ->exists(); // if ($expense) { // return false; // } // return true; } }