как правильно организовать наподобие реферальной ссылки?Laravel

        есть к примеру сайт
        http://site.com/
        
        Нужно добавить эмайл в БД одновременно генерируется 
        для сохраненного майла какой то код code
        
        Как вариант:
        есть БД:
        id email           code   registered
        1  [email protected]   h9fqf   0
        
        Invite::create([
           'email' = > request()->email,
           'code' = > Hash::make($request->email)
        ]);
        
/**потом чтобы перейти к примеру по ссылке 
http://site.com/?code=code и зарегистрироваться не важно на какой майл главное что этот code = равен какому то майлу в БД и тогда в ту строку в поле registered присвоить 1
*/
    
    /**
    *Можно типа в route register передать параметр еще 
    *Но так только если он сразу зарегистрируется
    *А если перейдет на любую другуб страниу и потом только зарегистрируется как тут быть
    *http://site.com/register?code=code
    */
    class AuthController extends Controller
    {
        register($request, $code = null){
           User::create([
             'name' = > request()->name,
             'email' = > request()->email,
             'code' = > Hash::make($request->email)
           ]);
    
           if($code){
              $ivite = Invite::where('code', $code)-first();
    
              if($ivite){
                $ivite->registered = 1;
                $ivite->save();
              }
           }
        }
    }

Ответы (1 шт):

Автор решения: Дмитрий

А если перейдет на любую другуб страниу и потом только зарегистрируется как тут быть

Как вариант сделать middleware для этого маршрута и в сессию писать код, потом при регистрации проверить наличие кода в сессии.

Вариант из серии "подумал 6 сеунд"

→ Ссылка