thinkphp5.1中报Attempt to assign property 'catename' of non-object

不知道为什么,查了百度都说是需要创建一个新的对象,几个小时试了手册上的其中几个方法没用

$user = User::get(1);
$user->name     = 'thinkphp';
$user->email    = '[email protected]';
$user->save();

这种方式查不到我的数据(get里面的主键已经改成了我有的主键,手册评论有的成功了,不知道我的为什么),报错Creating default object from empty value(意思是值是空的)。

2

$user = new User;
// save方法第二个参数为更新条件
$user->save([
    'name'  => 'thinkphp',
    'email' => '[email protected]'
],['id' => 1]);

这种方式会提示你修改成功,但实际上没成功,如果你的数据库没有你要修改的主键,还会添加一条数据进去。

3,我还尝试了添加多条数据,也不成功。

最终成功的只有下面这段代码(从网上查到的)

$result= Db::table('tp_cate')
        ->update(['catename'=>$data['catename'],'id'=>$data['id']]);

如果限制条件不是主键修改的,这样写

 return Db::table('test')
 ->where('id','=',4)
 ->update(['name'=>'SamC','age'=>'31']);

推荐我查到的博客https://www.cnblogs.com/samphp/p/8594291.html)

如果有新的意见,欢迎评论区留言。

想感慨我的时间 /   哭唧唧

你可能感兴趣的:(thinkphp)