gpt4 book ai didi

php - 如何解决这个尝试在 Laravel 中获取非对象错误的属性

转载 作者:搜寻专家 更新时间:2023-10-30 21:40:28 24 4
gpt4 key购买 nike

我正在创建一个网站。我已经创建了一个注册页面。我想更新我的详细信息。

但是,它给了我这个错误,我还在下面上传了一张错误图片。 - Error Picture

ErrorException (E_ERROR) Trying to get property of non-object (View: D:\wamp64\www\FinalProject\resources\views\AdminUpdate.blade.php)

我用了 dd($edd);它给了我正确的细节。但是,当我尝试使用以下代码时,它给出了上述错误。

我该如何解决这个问题??

这是我的 AdminPanel.blade.php

<table class="table table-bordered">

<tr>
<td> Name </td>
</tr>


@foreach($data as $value )
<tr>
<td> {{ $value->username }} </td>
<td> <a href="edit/{{ $value->id }}"><input type="submit" name="update" value="Update" class="btn-primary"></a> </td>
</tr>
@endforeach
</table>

这是我的 AdminPanelController.php

public function edit($id)
{
$edd = User::find($id);
//dd($edd);
return view('AdminUpdate', ['edd' => $edd]);

}

public function adminedit($id, Request $request, User $user)
{
// Add Validation

$users = $user->find($id);
$users->username = $request->get('username');
$users->email = $request->get('email');
$users->save();

return redirect()->back();
}

这是我的 AdminUpdate.blade.php

<form action="edit/{{ $edd[0]->id }}" method="post" enctype="multipart/form-data">

{{ method_field('PUT') }}
{{ csrf_field() }}

<div class="form-group">
<label>Username : *</label>
<input type="text" class="form-control" name="username" value="{{$edd[0]->username}}" placeholder="Enter Your Username" required>
</div>

<div class="form-group">
<label>Email : *</label>
<input type="email" class="form-control" name="email" value="{{$edd[0]->email}}" placeholder="Enter Your Username" required>
</div>

<div class="form-group">
<label>Password : *</label>
<input type="password" class="form-control" name="password" value="{{$edd[0]->password}}" placeholder="Enter Your Password" required>
</div>

<div class="form-group">
<label>Upload Profile Picture :</label>
<input type="file" class="form-control-file" name="file_img" aria-describedby="fileHelp">
<small id="fileHelp" class="form-text text-muted">If U Want , U Can Skip Upload A Profile Picture</small>
</div>

<input type="submit" class="btn btn-primary" value="Update User">
</form>

这是我的路线。

Route::get('/edit/{id}', 'AdminPanelController@edit');

Route::post('/edit/{id}', 'AdminPanelController@adminedit');

最佳答案

User::find() 给你一个单一的对象,而不是数组。

因此,在 blade 中只需使用

$edd->id

同样适用于 $edd 的其他实例:用户名、电子邮件、密码。

作为旁注:您可以添加检查是否确实通过 id 找到了用户,如果没有 - 显示 404 页面,例如。

关于php - 如何解决这个尝试在 Laravel 中获取非对象错误的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48880138/

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