gpt4 book ai didi

php - 无法从数据库中回显用户数据 - 表示 "Property [id] does not exist"

转载 作者:行者123 更新时间:2023-12-04 11:01:42 24 4
gpt4 key购买 nike

近 2 天以来,我一直在努力克服这个错误。不用说,我对 Laravel 还是很陌生。我正在使用 Laravel 的注册表单(经过一些修改),并将该用户数据存储在我的数据库中名为“customusers”的表中。该数据包括他们的姓名/电子邮件/性别/描述等。我正在尝试使用资源 Controller 来基本上打印和编辑该数据。我面临的问题是,每当我尝试在我的主页上回显数据时,它都会给我错误“此集合实例上不存在属性 [id]”或电子邮件/名称。但是当我用 Auth::user()->id 回显数据时,它起作用了。没关系,如果我只想回显数据,这是可行的。但我也想编辑该数据,为此我将不得不使用我的模型。下面是我的代码:

显示.blade.php:

<div id="wrapper">

<div id="content">
<div id="card">
<div id="front">
<div id="top-pic"></div>
<div id="avatar"><span style="position: absolute;padding-top: 17px;margin-left: 34px;color: #fff;font-size: 64px;" class="h5">
{{ Auth::user()->name[0] }}
</span></div>
<div id="info-box">
<div class="info">
<h1>{{ Auth::user()->name }}</h1>
<h2>{{ Auth::user()->message }}</h2>
</div>
</div>
<div id="social-bar">
<a href="{{ Auth::user()->facebook }}" target="_blank">
<i class="fa fa-facebook"></i>
</a>
<a href="{{ Auth::user()->twitter }}" target="_blank">
<i class="fa fa-twitter"></i>
</a>
{{ link_to_route('display.edit','',[$customusers->id],['class'=>'fa fa-edit']) }}

</div>
</div>

编辑.blade.php:

{!! Form::model($customusers,array('route'=>['display.store',$customusers->id],'method'=>'PUT')) !!}
<div class="form-group">
{!! Form::text('name',null,['class'=>'form-control','placeholder'=>'Name']) !!}
</div>
<div class="form-group">
{!! Form::email('email',null,['class'=>'form-control','placeholder'=>'Email']) !!}
</div>
<div class="form-group form-row">
<div class="col-5">
{!! Form::select('gender', ['Male' => 'Male', 'Female' => 'Female'], null, ['class'=>'form-control','placeholder'=>'Choose Gender']); !!}
</div>
<div class="col">
{!! Form::text('facebook',null,['class'=>'form-control','placeholder'=>'Facebook ID']) !!}
</div>
<div class="col">
{!! Form::text('twitter',null,['class'=>'form-control','placeholder'=>'Twitter Handle']) !!}
</div>
</div>
<div class="form-group">
{!! Form::textarea('message',null,['class'=>'form-control','placeholder'=>'Talk about yourself']) !!}
</div>
<div class="form-group">
{!! Form::button('Create',['type'=>'submit','class'=>'btn btn-danger col-lg-12']) !!}
</div>
{!! Form::close() !!}

ProfileController.php:

<?php

namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\CustomUser;
use Illuminate\Support\Facades\DB;


class ProfileController extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
$customusers = CustomUser::all();
return view ('display',compact('customusers'));
}

/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public function create()
{
//
}

/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function store(Request $request)
{
//
}

/**
* Display the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function show($id)
{
//
}

/**
* Show the form for editing the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function edit(CustomUser $customusers)
{
return view ('edit',compact('customusers'));
}

/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param int $id
* @return \Illuminate\Http\Response
*/
public function update(Request $request, CustomUser $customusers)
{
$customusers->update($request->all());
return redirect()->route('display.index');
}


/**
* Remove the specified resource from storage.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function destroy($id)
{
//
}
}

CustomUser.php(模型):

   <?php

namespace App;

use Illuminate\Notifications\Notifiable;
use Illuminate\Foundation\Auth\User as Authenticatable;

class CustomUser extends Authenticatable
{
use Notifiable;

protected $table = 'customusers';

/**
* The attributes that are mass assignable.
*
* @var array
*/
protected $fillable = [
'name','username','email','gender','password','message','twitter','facebook',
];

/**
* The attributes that should be hidden for arrays.
*
* @var array
*/
protected $hidden = [
'password', 'remember_token',
];
}

Web.php(路由):

    Route::get('/', function () {
return view('welcome');
});

Auth::routes();

Route::resource('/display','ProfileController');

如您所见,我在 index() 函数中使用 compact 将我数据库中的所有用户数据提供给它,当我 dd($customusers) 时,它确实向我显示了数组中的数据。但是当我使用 {{ $customusers->name }} - 它给我一个错误,说“属性 [name] 在这个集合实例上不存在”。因此,每当我尝试使用 link_to_route('display.edit','',[$customusers->id],'') 将用户重定向到编辑页面时,都会发生同样的情况。请帮我看看我在这里做错了什么。我之前制作了一个 CRUD 应用程序,我基本上做了同样的事情,而且一切都很完美。所以我不明白这里的问题是什么..

最佳答案

您需要循环客户数据:

@foreach($customusers as $customer)
{{ link_to_route('display.edit','',[$customer->id],['class'=>'fa fa-edit']) }}
@endforeach

或者您可以编辑当前登录的数据。

{{ link_to_route('display.edit','',[Auth::user()->id],['class'=>'fa fa-edit']) }}

关于php - 无法从数据库中回显用户数据 - 表示 "Property [id] does not exist",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58762056/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com