как правильно организовать наподобие реферальной ссылки?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 сеунд"