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) 才是王道!
最佳答案