首页 > 解决方案 > 未显示赞助商用户名 Laravel

问题描述

我正在制作一个多级系统,我们使用推荐链接,但赞助商用户名没有出现在注册页面的 html 中,要访问它,必须退出当前会话。

我的迁移:

<?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' );
        });
    }
}

我的控制器:refController.php

<?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 ) );
     }
}

我的路线:

Route::get('/user', function () {
    return redirect('/');
});

Route::get('/user/{username}', 'RefController@index' );

我的HTML:

    <?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 } ?>

我的“referrer_id”结构在“users”表中。

标签: phphtmllaravelcookies

解决方案


推荐阅读