public static function boot() { parent::boot(); static::creating(function ($model) { $student = Student::find($model->student_id); $recipient = BilletAssignor::first(); $model->payer = $student->getPayer(); $model->recipient = $recipient->getRecipient(); $model->new_due_date = $model->due_date->toDateString(); $model->payment_of_fine = $recipient->payment_of_fine; $model->interest = $recipient->interest; $model->is_interest = $recipient->is_interest; $model->days_protest = $recipient->days_protest; $model->bank = $recipient->bank; $model->agency = $recipient->agency; $model->digit_agency = $recipient->digit_agency; $model->account = $recipient->account; $model->digit_account = $recipient->digit_account; $model->wallet = $recipient->wallet; $model->agreement = $recipient->agreement; $model->portfolio_change = $recipient->portfolio_change; $model->range = $recipient->range; $model->client_id = $recipient->client_id; $model->ios = $recipient->ios; $model->kind_document = $recipient->kind_document; }); static::updating(function ($model) { // }); }
/** * Get the validation rules that apply to the request. * * @return array */ public function rules() { $id = $this->route('student'); $user_id = 'NULL'; $student = Student::find($id); $user = $student->user; if (isset($user)) { $user_id = $user->id; } return ['name' => 'required|max:45', 'sex' => 'required|in:male,female', 'father' => 'max:45', 'mother' => 'max:45', 'responsible' => 'required|max:45', 'cpf_responsible' => 'cpf|unique:students,cpf_responsible,' . $id, 'phone_father' => 'max:11|phone_br', 'phone_mother' => 'max:11|phone_br', 'phone_responsible' => 'required|max:11|phone_br', 'postcode' => 'required|max:8|regex:/[0-9]/', 'street' => 'required|max:60', 'number' => 'required|max:10', 'district' => 'required|max:60', 'city' => 'required|max:60', 'state' => 'required|max:2', 'phone' => 'required|max:10|phone_br', 'cellphone' => 'required|max:11|cellphone_br', 'complement' => 'max:30', 'monthly_payment' => 'required|numeric|positive', 'day_of_payment' => 'required|integer|min:1|max:31', 'installments' => 'integer', 'user' => 'required|array', 'user.username' => 'required|max:30|unique:users,username,' . $user_id . ',id,owner_type,Domain\\Student\\Student', 'user.email' => 'required|max:255|email|unique:users,email,' . $user_id . ',id,owner_type,Domain\\Student\\Student', 'status' => 'boolean']; }