未定义属性: Illuminate\Database\Eloquent\Relations\

我正在使用PHP和Laravel制作游戏。现在我想存储一些记录,比如玩过的游戏,他们收到的胜利和输掉的比赛。但是,如何为已登录的用户保存这些记录?


我试过这个,但我得到错误(帖子的标题);


    public function winGame() {

    if(isset(Auth::user()->email)) {

        $user = User::find(Auth::user()->id);


        $games = $user->statuses()->game;

        $gamesPlus = $games + 1;


        $wins = $user->statuses()->wins;

        $winsPlus = $wins + 1;


        $user->statuses()->save($gamesPlus, $winsPlus);

    }

}

而且我可能不会只使用DB::方法的模型名称。


模型用户:


public function statuses()

{

    return $this->hasOne('App\Status');

}

型号状态:


public function user()

{

    return $this->belongsTo('App\User');

}


qq_遁去的一_1
浏览 115回答 1
1回答

开心每一天1111

打开状态检索查询生成器,而不是记录。通过执行此操作将各个行递增 1,可以轻松清理代码。()public function winGame() {    if(isset(Auth::user()->email)) {        $user = Auth::user();        $user->statuses->game++;        $user->statuses->wins++;        $user->statuses->save();    }}或者,甚至稍微更具可读性,public function winGame() {    if(isset(Auth::user()->email)) {        $status = Auth::user()->statuses;        $status->game++;        $status->wins++;        $status->save();    }}
打开App,查看更多内容
随时随地看视频慕课网APP