如何在blade.php文件上显示数据库中的数据存储

时间:2019-12-10 08:12:38

标签: php laravel

我尝试从我的 index.blade.php 文件中的单个身份验证用户检索数据

<h3 class="profile-username text-center">{{$user ?? ''->lastname}}</h3>

使用我的 ProfileController

public function index($user){
        $user_id = auth()->user()->id;
        $user = User::findOrFail($user_id);
        return view('profiles.index')->with('users',$user);
    }

并且用户数据在我的用户表

public function up()
    {
        Schema::create('users', function (Blueprint $table) {
            $table->bigIncrements('id');
            $table->string('accno')->unique();
            $table->string('acc_type');
            $table->string('firstname');
            $table->string('middlename');
            $table->string('lastname');
            $table->string('address');
            $table->string('email')->unique();
            $table->timestamp('email_verified_at')->nullable();
            $table->string('phoneno')->unique();
            $table->string('sex');
            $table->string('martial_status');
            $table->string('password');
            $table->rememberToken();
            $table->timestamps();
        });
    }

路线

Route::get('/profile/{user}', 'ProfilesController@index')->name('profiles.show');

我不断收到Laravel错误:

  

试图获取非对象的属性“姓氏”(视图:C:\ Users \用户pc \ Desktop \ dkn \ resources \ views \ profiles \ index.blade.php)。

2 个答案:

答案 0 :(得分:1)

由于在控制器中使用了findOrFail(),所以到达刀片时,您100%从数据库获得了User的实例。因此,您无需在那里进行检查。

<h3 class="profile-username text-center">{{$user->lastname}}</h3>

如果要检查,请按以下步骤操作

<h3 class="profile-username text-center">{{$user->lastname ?? ''}}</h3>

<h3 class="profile-username text-center">{{$user ? $user->lastname : ''}}</h3>

顺便说一句,您不需要从数据库中恢复用户,因为它已经在laravel auth中了

public function index($user){
    $user = auth()->user();
    return view('profiles.index')->with('users',$user);
}

答案 1 :(得分:0)

  componentWillReceiveProps(nextProps, nextState) {
    if (this.state.ordersLength!= nextState.ordersLength) {
      //how can i do is this is true
    }
}

必须为

{{$user ?? ''->lastname}}

您正在从控制器发送用户对象。如果需要访问对象属性,则必须使用语法object-> property。