“最难不过坚持”
本人承接扒站仿站,php网站维护,病毒查杀,网站编辑,网站改版,html制作
有需要网站维护,改版,病毒查杀,网站编辑,网站备案,html制作等相关的工作可以联系我。
本人有多年相关工作经验,也可提供免费咨询,交个朋友。
有需要探讨问题的朋友,也可以加我微信,共同探讨!
微信:15011482830 QQ:408917339
- https://jueru.net/
-
- :weixiao:
-
- :shuijiao: :weiqu: :zhenbang: :leng:
-
- :yiwen: :yiwen: :yiwen: :yiwen:
-
- 这个业务逻辑多少都有点奇怪了,阅读浏览次数增值在新闻详情页的控制器方法里setInc,这怎么还写进模型事件里了。如果非要用onAfterRead也可以,把新闻文章的内容单独分出来一个news_content表,然后把它和news做关联,然后给news_content表的onAfterRead事件做增值处理,这样点进新闻页内查询到文章内容时才会触发它。
-
thinkphp版本5.1.40 LTS
表单提交的数据为
$data['id'] = 8;
$data['roleTitle'] = '123';
$data['roleDesc'] = 'abc';
其中id数据表中不存在,所以需要过滤
但是
$rs = $this->allowField(true)->save($data,['roleId'=>(int)$id]);
和
$rs = $this->allowField(['roleTitle','roleDesc'])->save($data,['roleId'=>(int)$id]);
都无效
不知道哪的问题,网上找了很多,很少有人碰到这个问题,即便碰到,也没有给出解决方案。
最后没办法,只能用php 的 unset() 销毁变量,
unset($data['id']);
然后就可以保存数据了
$rs = $this->save($data,['roleId'=>(int)$id]);
如果销毁多个参数,可以自定义一个函数
/**
* 删除一维数组里的多个key
*/
function ZHTUnset(&$data,$keys){
if($keys!='' && is_array($data)){
$key = explode(',',$keys);
foreach ($key as $v)unset($data[$v]);
}
}
调用
ZHTUnset($data,'id');