2017-04-03 92 views
2

嗨Guy的我总是从laravel 5.4中得到一个错误。 林创建成员的名单...但是当我使用@foreach它说试图获得非对象Laravel的属性5.4

ErrorException in 6163a8b030c7474bc8eaad359ab99eb61ebdb127.php line 38: 
Trying to get property of non-object (View: E:\wamp64\www\gplspring2017\resources\views\admin\memberlist.blade.php) 

这里是我的控制器

public function listmember(Request $request, $idteam) 
{ 
    $teams = DB::table('gpl_team')->where('gpl_team_id', $idteam)->first(); 
    $count = count($teams); 

    if (!$count) { 
     return redirect('404'); 
    } else { 
     return view('/admin/memberlist', ['team' => $teams]); 
    } 
} 

这是我的看法代码:

<table class="table table-striped"> 
    <tr> 
     <td style="width:15%;"></td> 
     <td style="width:25%;">Summoners Name</td> 
     <td style="width:25%;">Name</td> 
     <td style="width:25%;">Role</td> 
     <td style="width:10%;"></td> 
    </tr> 
    <?php 
    $qmember = DB::table('team_member')->where('gpl_team_id', $team->gpl_team_id)->first(); 

    $counting = count($qmember); 

    ?> 
    @if (! $counting) 
    <tr> 
     <td colspan="4"> No Recored! </td> 
    </tr> 
    @else 
    @foreach($qmember as $get_member) 
    <tr> 
     <td><img src="{{ $get_member->member_pic }}" /></td> 
     <td></td> 
     <td></td> 
     <td></td> 
     <td> 
      <a href="" data-toggle="tooltip" title="Edit Team"><div class="glyphicon glyphicon-pencil"></div></a> | 
      <a href="" data-toggle="tooltip" title="Delete Team"><div class="glyphicon glyphicon-trash"></div></a> 
     </td> 
    </tr> 
    @endforeach 
    @endif 
</table> 

当我删除代码工作的foreach ..但我尝试添加@foreach($qmember as $get_member)它不工作了...

+1

第一个问题是你的foreach里面的变量必须'$ team'和第二件事是你只用从数据库读取一个记录第一()方法不是全部匹配的记录。所以使用get()而不是第一个() – webDev

+0

感谢兄弟...现在它工作... – ivor

回答

1

检查这一行:

$qmember = DB::table('team_member')->where('gpl_team_id', $team->gpl_team_id)->first(); 

当您使用first()那么它不会返回Std Class object。如果你想这样,然后使用get()

+0

谢谢...它帮助我... – ivor

+0

听起来不错! –

0

使用first()方法,你只是从数据库中取得一个与ID匹配的记录(第一个匹配)。你需要使用get()。

控制器:

public function listmember(Request $request, $idteam) 
    { 

     $teams = DB::table('gpl_team')->where('gpl_team_id', $idteam)->get(); //Use get() if you expect more than one result not first() 
     $count = count($teams); 

     if(! $count) 
     { 
      return redirect('404'); 
     } 
     else 
     { 
      return view('/admin/memberlist', ['teams' => $teams]);// this team variable must be used in the blade 
     } 
    } 

查看:

<table class="table table-striped"> 
    <tr> 
     <td style="width:15%;"></td> 
     <td style="width:25%;">Summoners Name</td> 
     <td style="width:25%;">Name</td> 
     <td style="width:25%;">Role</td> 
     <td style="width:10%;"></td> 
    </tr> 
    <?php 

     $qmember = DB::table('team_member')->where('gpl_team_id', $team->gpl_team_id)->first(); 

     $counting = count($qmember); 
    ?> 
    @if (! $counting) 
    <tr> 
     <td colspan="4"> No Recored! </td> 
    </tr> 
    @else 
     @foreach($teams as $team) 
      <tr> 
       <td><img src="{{ $team['member_pic'] }}" /></td> 
       <td></td> 
       <td></td> 
       <td></td> 
       <td> 
        <a href="" data-toggle="tooltip" title="Edit Team"><div class="glyphicon glyphicon-pencil"></div></a> | 
        <a href="" data-toggle="tooltip" title="Delete Team"><div class="glyphicon glyphicon-trash"></div></a> 
       </td> 
      </tr> 
     @endforeach 
    @endif 
</table> 
相关问题