Witam, chciałbym zapytać jak przenieść kod z kontrolera do modelu. Otóż mam dość rozbudowaną funkcję (przykładowo rejestracji) w kontrolerze. Wiem, że tak rozbudowany kod nie powinien być w kontrolerze i chciałbym go przenieść do modelu jednak nie za bardzo wiem jak to zrobić
public function register(RegisterRequest $r)
{
DB::transaction(function () use ($r) {
$u = User::create([
'email' => $r->email,
'password' => Hash::make($r->password)
]);
$a = new Avatar();
$a->addAvatar($r->sex, $u->id);
Specific::create([
'user_id' => $u->id,
'name' => $r->name,
'birthday' => $r->birthday,
'sex' => $r->sex,
'type_account' => $r->type_account
]);
Contact::create([
'user_id' => $u->id,
'email' => $u->email
]);
if ($r->type_account != 1){
Company::create([
'user_id' => $u->id,
'name' => $r->name_company,
'nip' => $r->nip_company,
'country' => $r->country_company,
'address' => $r->address_company,
'post_code' => $r->post_code_company,
'city' => $r->city_company
]);
}
});
}
próbowałem w taki sposób
$user = new User();
$user->register($r);
i w User zrobić funkcję rejestracji jednak przekazanie danych w taki sposób nie działa.
Prosiłbym o podpowiedź jak to powinno wyglądać