我尝试从我的 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)。
答案 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。