[已解决]Thinkphp5.0.15 Model Set属性Attr 死活不进入数据库

浏览:2602 发布日期:2018/03/11 分类:ThinkPHP5专区 关键字: 属性
namespace app\admin\model;
use think\Model;

class Game extends  Model
{
   protected function setCoverAttr($value)
    {
        if($value == "/static/images/web/no_cover.gif"){
            return $value;
        }
        $v = str_replace(DS,'/',$value);


        return '/uploads/'.$v;
    }
}
如上,我定义了一个Model为Game 同时做了一个属性设置器,用来设置 数据库里的game表的cover 字段。


不过,不知道为什么就是写入不了数据库,cover字段 在post 中存在。且没有问题。
setCoverAttr 也运行了 ,我还在里面 var_dump($v) 也能够成功执行,但就是数据库里,不是最终结果。

原来!!!!!
$model ->data($data)->save();方法 并不会触发 setAttr ()

$model->save($data) 才是王道!
最佳答案
评论( 相关
后面还有条评论,点击查看>>