Laravel error : Trying to get property of non-object in show.blade.php
Laravel error : Trying to get property of non-object in show.blade.php
我的代码在这里,如果你想要任何其他部分代码,我也会提供那段代码
<div class="panel-heading ">Organization Profile</div>
<table class="table table-striped">
<thead>
<tr>
<th>Attributes</th>
<th>Values</th>
</tr>
</thead>
<tbody>
<tr>
<td>Org Name</td>
<td>{{$org->name}}</td>
</tr>
<tr>
<td>Owner Name</td>
<td>{{$org->owner}}</td>
</tr>
</tbody>
</table>
</div>
Trying to get property of non-object
问题通常出现在 Laravel 时,当您返回数组但尝试在 blade 文件中使用 object 或不传递正确的 object字符串。
我从评论中注意到您在函数中传递 $orgs
,而不是 $org
。
public function create() {
return view('Admin.organizations.create',compact('orgs'));
}
更新您的 blade 文件,如下所示:
<div class="panel-heading ">Organization Profile</div>
<table class="table table-striped">
<thead>
<tr>
<th>Attributes</th>
<th>Values</th>
</tr>
</thead>
<tbody>
<tr>
<td>Org Name</td>
<td>{{$orgs->name}}</td>
</tr>
<tr>
<td>Owner Name</td>
<td>{{$orgs->owner}}</td>
</tr>
考虑到所有评论,您的控制器中可能应该有这样的东西:
public function show($id)
{
$org = Organization::find($id);
// $data = ['org', $id];
return view('Admin.organizations.show')->with(compact('org'));
}
这是您的 blade 观点:
<div class="panel-heading ">Organization Profile</div>
@if (empty($org))
<h1>Organization is empty</h1>
@else
<table class="table table-striped">
<thead>
<tr>
<th>Attributes</th>
<th>Values</th>
</tr>
</thead>
<tbody>
<tr>
<td>Org Name</td>
<td>{{$org->name}}</td>
</tr>
<tr>
<td>Owner Name</td>
<td>{{$org->owner}}</td>
</tr>
</tbody>
</table>
@endif
</div>
当然,如果不知道 Organization 模型中有什么,我们就无法知道 owner 和 name 是否作为模型的属性存在。
我的代码在这里,如果你想要任何其他部分代码,我也会提供那段代码
<div class="panel-heading ">Organization Profile</div>
<table class="table table-striped">
<thead>
<tr>
<th>Attributes</th>
<th>Values</th>
</tr>
</thead>
<tbody>
<tr>
<td>Org Name</td>
<td>{{$org->name}}</td>
</tr>
<tr>
<td>Owner Name</td>
<td>{{$org->owner}}</td>
</tr>
</tbody>
</table>
</div>
Trying to get property of non-object
问题通常出现在 Laravel 时,当您返回数组但尝试在 blade 文件中使用 object 或不传递正确的 object字符串。
我从评论中注意到您在函数中传递 $orgs
,而不是 $org
。
public function create() {
return view('Admin.organizations.create',compact('orgs'));
}
更新您的 blade 文件,如下所示:
<div class="panel-heading ">Organization Profile</div>
<table class="table table-striped">
<thead>
<tr>
<th>Attributes</th>
<th>Values</th>
</tr>
</thead>
<tbody>
<tr>
<td>Org Name</td>
<td>{{$orgs->name}}</td>
</tr>
<tr>
<td>Owner Name</td>
<td>{{$orgs->owner}}</td>
</tr>
考虑到所有评论,您的控制器中可能应该有这样的东西:
public function show($id)
{
$org = Organization::find($id);
// $data = ['org', $id];
return view('Admin.organizations.show')->with(compact('org'));
}
这是您的 blade 观点:
<div class="panel-heading ">Organization Profile</div>
@if (empty($org))
<h1>Organization is empty</h1>
@else
<table class="table table-striped">
<thead>
<tr>
<th>Attributes</th>
<th>Values</th>
</tr>
</thead>
<tbody>
<tr>
<td>Org Name</td>
<td>{{$org->name}}</td>
</tr>
<tr>
<td>Owner Name</td>
<td>{{$org->owner}}</td>
</tr>
</tbody>
</table>
@endif
</div>
当然,如果不知道 Organization 模型中有什么,我们就无法知道 owner 和 name 是否作为模型的属性存在。