Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/240.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何获取非对象的属性?_Php_Html_Laravel - Fatal编程技术网

Php 如何获取非对象的属性?

Php 如何获取非对象的属性?,php,html,laravel,Php,Html,Laravel,我的推荐系统工作得很好,但我想把推荐的名称、用户名或电子邮件地址放在html Ex:{$username}页面中。在我的控制器上,我的重定向当前正在工作,但是如果我放置{$username},它将返回未定义的变量,但是如果我将其更改为查看{$username},它将工作,但是注册是在默认情况下使用admin完成的 我的控制器: <?php namespace App\Http\Controllers; use App\User; use Illuminate\Http\Reque

我的推荐系统工作得很好,但我想把推荐的名称、用户名或电子邮件地址放在html Ex:{$username}页面中。在我的控制器上,我的重定向当前正在工作,但是如果我放置{$username},它将返回未定义的变量,但是如果我将其更改为查看{$username},它将工作,但是注册是在默认情况下使用admin完成的

我的控制器:

    <?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 ) );
     }
}
 protected function create(array $data) {
    if($data['gender']=='male'){

        $avatar_path = 'boy.png';
    }
    else
        { 
            $avatar_path = 'girl.png';
        }
        $referrer = User::find( Cookie::get( 'referrer_id' ) );

        return User::create([
            'name' => $data['name'],
            'username' => $data['username'],
            'avatar' => $avatar_path,
            'gender' => $data['gender'],
            'email' => $data['email'],
            'passaport' => $data['passaport'],
            'country' => $data['country'],
            'city' => $data['city'],
            'state' => $data['state'],
            'address' => $data['address'],
            'postcode' => $data['postcode'],
            'password' => Hash::make($data['password']),
            'referrer_id' => (is_null($referrer )) ? 1 : $referrer->id,
        ]);
更新

我的注册表控制器:

    <?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 ) );
     }
}
 protected function create(array $data) {
    if($data['gender']=='male'){

        $avatar_path = 'boy.png';
    }
    else
        { 
            $avatar_path = 'girl.png';
        }
        $referrer = User::find( Cookie::get( 'referrer_id' ) );

        return User::create([
            'name' => $data['name'],
            'username' => $data['username'],
            'avatar' => $avatar_path,
            'gender' => $data['gender'],
            'email' => $data['email'],
            'passaport' => $data['passaport'],
            'country' => $data['country'],
            'city' => $data['city'],
            'state' => $data['state'],
            'address' => $data['address'],
            'postcode' => $data['postcode'],
            'password' => Hash::make($data['password']),
            'referrer_id' => (is_null($referrer )) ? 1 : $referrer->id,
        ]);
更新

我的迁移将\u Ref\u添加到\u user\u表:

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

我从@Caddy DZ将返回视图“auth.register”->更改为获得帮助和耐心


由于这是一个推荐系统,用户应该获得404,以便在url中插入不存在的推荐

使用firstor失败

公共函数索引$username { $user=user::其中'username',$username->firstOrFail; 返回视图'auth.register'->with[ “referer\u id”=>$user->id, 'username'=>$username ]; } 然后在视图中显示用户名,如下所示

{{$username} 假设数据库表中确实有一个名称列

架构::创建“用户”,函数蓝图$表{ $table->big增量'id'; $table->string'name';//必须有 $table->string'username'->unique;//必须具有此唯一性 $table->string'email'->唯一; $table->timestamp'email\u verified\u at'->可为空; $table->string'password'; $table->rememberToken; $table->timestamps; }; 使现代化 替换此代码

“referer\u id”=>是否为空$referer?1:$referer->id, 通过存储在Cookie中的实际整数

“referer\u id”=>$referer,
如果只有经过身份验证的用户才能访问此路由,请尝试向其添加身份验证中间件

Route::get('/user/{username}', 'RefController@index' )->middleware('auth');
尝试将控制器中的代码更改为以下内容:

return ( is_null( $user ) )
        ? redirect( '/' )
        : view( 'auth.register', compact( 'referrer_id', 'user' ) );

在auth.register视图中,尝试获取{{$user->name}},而不是{{{{auth::user->name}。

您不能在注册页面上显示经过身份验证的用户名,因为没有经过身份验证的用户{{{auth::user->name???}是的,我考虑过,但我不知道如何显示,但我需要这样做,这是用户注册的途径,想要显示招聘人员的姓名如果需要显示招聘人员的姓名-您可以在URI中传递招聘人员id,然后通过其id解析此招聘人员用户,然后您将能够显示其姓名。如果使用{{Auth::user->name},则您正试图获取向服务器发出请求的用户的用户名。是,我使用了为什么我的url是domain.com/user/jhonn。。。本页用于注册,我想在下方显示jhonnerror的名称使用未定义的常量用户-假定“用户”评论不用于扩展讨论;这段对话已经结束。
return ( is_null( $user ) )
        ? redirect( '/' )
        : view( 'auth.register', compact( 'referrer_id', 'user' ) );