为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

PHP
qq_遁去的一_1 2022-08-05 16:34:58
我正在使用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');}
查看完整描述

1 回答

?
开心每一天1111

TA贡献1836条经验 获得超13个赞

打开状态检索查询生成器,而不是记录。通过执行此操作将各个行递增 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();

    }

}


查看完整回答
反对 回复 2022-08-05
  • 1 回答
  • 0 关注
  • 80 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信