现在有这么一个需求,我在模型中定义了访问器,但是我有时会用到访问器,有时又想得到不使用访问器的原始数据。针对这个问题,我首先想到用不想用访问器的话可以使用DB,但这样又失去了模型关联的带来便利。请问这个问题如何解决?Laravel访问器可以自主选择使用或者不用吗?语言:PHP框架:Laravel5.8
2 回答

凤凰求蛊
TA贡献1825条经验 获得超4个赞
publicfunctiongetAttributeValue($key){$value=$this->getAttributeFromArray($key);//Iftheattributehasagetmutator,wewillcallthatthenreturnwhat//itreturnsasthevalue,whichisusefulfortransformingvalueson//retrievalfromthemodeltoaformthatismoreusefulforusage.if($this->hasGetMutator($key)){return$this->mutateAttribute($key,$value);}}上面是Laravel获取属性的方法,可以看出并没有参数指定忽略已有的选择器。只能用一个别名属性的选择器代替,这样既可以获取原始值,也可以获取通过选择器转换后的值当然也可以通过getOriginal获取原始值

萧十郎
TA贡献1815条经验 获得超13个赞
//字段:testpublicfunctiongetTestExtAttribute(){return$this->attributes['test'];}//使用//->test_ext;
添加回答
举报
0/150
提交
取消