Laravel错误:尝试在show.blade.php中获取非对象的属性

时间:2017-12-15 14:37:04

标签: php laravel-5.3

如果你想要任何其他代码段,我的代码就在这里,我也会提供那段代码

 <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>

2 个答案:

答案 0 :(得分:0)

当您返回数组时,

Trying to get property of non-object问题通常出现在Laravel中,但尝试在刀片文件中使用object或者根本不传递正确的对象字符串。

我从评论中注意到您在函数中传递了$orgs,而不是$org

public function create() { 
    return view('Admin.organizations.create',compact('orgs')); 
}

更新您的刀片文件,如下所示:

<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>

       

答案 1 :(得分:0)

考虑到所有评论,你的控制器应该有这样的东西:

public function show($id)
{
 $org = Organization::find($id);
 // $data = ['org', $id];
 return view('Admin.organizations.show')->with(compact('org'));
}

这是你的刀片视图:

<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>

当然,不知道组织模型中的内容会让我们不知道所有者和名称是否作为模型的属性存在。