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

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

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

PHP
天涯尽头无女友 2022-07-22 18:38:48
我正在使用 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 回答

?
慕村9548890

TA贡献1884条经验 获得超4个赞

()on 状态检索查询生成器,而不是记录。您可以通过这样做轻松地清理代码,以将各个行递增一。


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-07-22
  • 1 回答
  • 0 关注
  • 97 浏览

添加回答

举报

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