【发布时间】:2016-08-16 23:02:13
【问题描述】:
我收到这个错误
Trying to get property of non-object (View: /home/yash/website/resources/views/gamesover.blade.php)
我有一个赌桌 users 和一个赌桌 gameover,它们都有各自的模型,即 User 和 Gamesover。
现在在游戏结束表中,我有一列发起者。
当一个get请求被发送到视图时,它在控制器中的代码是
public function gamesover()
{
$user = Auth::user();
$games = Gamesover::where('initiator', $user->username)->orWhere('acceptor', $user->username)->get();
return view('gamesover', compact('games','user'));
}
还有风景
@foreach($games as $game)
{{ DB::table('users')->where('username',$game->initiator)->first()->id }}
@endforeach
在上面写的刀片语法中给我错误
Trying to get property of non-object (View: /home/yash/website/resources/views/gamesover.blade.php)
** 数据库没有错误,使用的标识符没有拼写和大小写错误
当我使用 laravel 中包含的 dd() 函数尝试此操作时,我没有收到任何错误。此外,当我在修补程序中尝试整个过程时,我也没有收到任何错误。
编辑 1:当我用带引号的用户名替换 $game->initiator 时,我没有收到任何错误,并且如果我将代码更改为
@foreach($games as $game)
{{$initiator = 'yash20'}} // yash20 is a username already in users database
{{ DB::table('users')->where('username','$initiator')->first()->id }}
@endforeach
然后我也得到错误 请任何人指导我刀片语句中的错误或语法错误。
如果您需要其他详细信息,请在评论中输入我会尽快更新问题。
【问题讨论】: