加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

php – Laravel 5雄辩的模型不会让我更新

发布时间:2020-12-14 19:42:22 所属栏目:大数据 来源:网络整理
导读:我确实在数据库中设置了邀请表.我将它用于其他目的,例如添加更多…… 我的目标:用字段的新值更新第一条记录: 我试过了: $invitation = new MemberInvitation();$invitation1 = $invitation-find(1);$invitation1-status = 'clicked';$invitation1-save();
我确实在数据库中设置了邀请表.我将它用于其他目的,例如添加更多……

我的目标:用字段的新值更新第一条记录:

我试过了:

$invitation = new MemberInvitation();
$invitation1 = $invitation->find(1);
$invitation1->status = 'clicked';
$invitation1->save();

并且:

$invitation1 = AppModelMemberInvitation::find(1);
$invitation1->status = 'clicked';
$invitation1->save();

两者都以:

Creating default object from empty value

编辑:

这段代码正确地工作和更新了我的记录 – 我不能通过Eloquent的模型来做到这一点:

DB::table('member_invitations')->where('id','=',$member_invitation->id)
                    ->update(array('status' => 'clicked','member_id' => $member->id));

我错过了什么?

解决方法

find(1)并不意味着“给我第一条记录”,它意味着“给我第一条记录,其中id = 1”.如果您没有id为1的记录,则find(1)将返回null.当您尝试在null上设置属性时,您会收到一条PHP警告消息“从空值创建默认对象”.

如果你真的只想获得第一条记录,你可以使用first()方法:

$invitation = AppModelMemberInvitation::first();

如果需要获取具有特定ID的记录,可以使用find()方法.例如,要将您的工作数据库代码转换为Eloquent,它看起来像:

$invitation = AppModelMemberInvitation::find($member_invitation->id);
$invitation->status = 'clicked';
$invitation->member_id = $member->id;
$invitation->save();

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读