thinkphp6 模型save方法返回true但实际没有更新成功的情况
tp6 模型save方法返回true但实际没有更新成功的情况
除了官方讲到的更新数据没有改变情况下 发现还有一种情况
<?php
use app\common\model\User;
class Users
{
$where = ['phone' => '130********'];
$user = User::where($where)->find();
$user['score'] = 99;//数组方式赋值可以更新成功
$user->save();//true 99
$user->score = 999;//对象方式赋值也可以更新成功
$user->save();//true 999
}
如果我在User模型中增加一个积分公共属性
<?php
namespace app\common\model;
use think\Model;
class User extends Model
{
protected $autoWriteTimestamp = true;
public $score;//这里模型中增加一个修改该字段的公共属性
}
然后再去更新 如下:
<?php
use app\common\model\User;
class Users
{
$where = ['phone' => '130********'];
$user = User::where($where)->find();
$user['score'] = 99;//数组方式赋值可以更新成功
$user->save();//true 99
$user->score = 999;//对象方式赋值不可以更新成功
$user->save();//true 999
}
具体底层是怎么控制这个更新操作的 还没有仔细研究 现在这里记录下