Como Mostrar o Patrocinador Que indicou o Link
Olá pessoal, gostaria de saber a forma certa de mostrar o username, email ou nome de quem enviou o link de referidos.
por ex: o usuario joão tem o link de indicação www.exemplo.com/user/joão, esta pagina vai direto pro register.php, até ai tudo bem,
mas não consigo colocar o username do joão no html da pág (register.php) de forma que mostre o username(nome, email etc..), na verdade não acontece nada.
Minha Migration:
<?php
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class AddReferrerToUsersTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::table('users', function (Blueprint $table)
{
$table->integer('referrer_id')->unsigned()->default(1)->after('id');
$table->foreign('referrer_id')->references('id')->on('users');
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::table('users', function (Blueprint $table)
{
$table->dropForeign(['referrer_id']);
$table->dropColumn( 'referrer_id' );
});
}
}
Meu Controlador:
<?php
namespace App\Http\Controllers;
use App\User;
use Illuminate\Http\Request;
class RefController extends Controller
{
public function index( $username )
{
$user = User::where( 'username', $username )->first();
return ( is_null( $user ) )
? redirect( '/' )
: redirect( '/register' )->withCookie( cookie()->forever( 'referrer_id', $user->id ) );
}
}
Minhas rotas:
Route::get('/user', function () {
return redirect('/');
});
Route::get('/user/{username}', 'RefController@index' );
Meu Register.php:
<?php if (isset($referrer_id->id)) { ?>
<p class="login-box-msg" style="margin-top: 20px; margin-bottom: 30px; color: #373737;">You have been nominated for:<br><b>{{$referrer_id->name. ' - '. $referrer_id->email}}</b></p>
<?php } ?>
Meu referrer_id está dentro da tabela users onde tambem estão nome, email, username etc..Discussão (0)
Carregando comentários...