博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
laravel之null替换空字符串中间件
阅读量:6146 次
发布时间:2019-06-21

本文共 1199 字,大约阅读时间需要 3 分钟。

在laravel写接口的时候免不了数据库中保存null,可用诸如设置ORM的访问器或以下方法处理

$goods->name?$goods->name:'';

其实可以利用路由中间件,在需要的地方引入中间件即可

中间件

class ReplaceNullMiddleware{    public function handle($request, Closure $next)    {        $response = $next($request);        $data = json_decode($response->getContent(), true);        if(isset($data['data'])){            $newData = _unsetNull($data['data']);            $data['data'] = $newData;            return $response->setContent(json_encode($data));        }        return $response;    }}

再Kernel.php引入路由中间件。使用方法

Route::post('/employeeList', 'ComController@employeeList')->middleware('replaceNull');
//递归方式把数组或字符串 null转换为空''字符串function _unsetNull($arr){    if($arr !== null){        if(is_array($arr)){            if(!empty($arr)){                foreach($arr as $key => $value){                    if($value === null){                        $arr[$key] = '';                    }else{                        $arr[$key] = _unsetNull($value);      //递归再去执行                    }                }            }        }else{            if($arr === null){ $arr = ''; }         //注意三个等号        }    }else{ $arr = ''; }    return $arr;}

 

转载于:https://www.cnblogs.com/kkform/p/9236023.html

你可能感兴趣的文章
智慧城市:引领未来可持续发展
查看>>
虚拟主机更新太麻烦?不妨让它试试
查看>>
APP开发的常见问题有哪些呢?
查看>>
WCF 消息帧格式
查看>>
《SEO的艺术(原书第2版)》——3.6 为原始流量开展SEO
查看>>
钉钉强推服务 阿里社交野心不死
查看>>
Google Play商店400款App藏恶意代码:手机可变监听站
查看>>
从头告诉你印度为何封杀Facebook的免费互联网
查看>>
中国超级计算机与IT专利申请皆世界第一
查看>>
向上扩展型SSD 将可满足向外扩展需求
查看>>
新物联网时代的整合战略
查看>>
打造嘉兴智能电网 点亮新型智慧城市
查看>>
天津松江将参与抚州市智慧城市建设
查看>>
张家界:“互联网+机构编制业务”云平台启动
查看>>
启动4省市NB-IoT外场测试 中国移动“一马当先”
查看>>
爱立信600 MHz系列产品将在2017年第三季度商用
查看>>
如何使用阿里云虚拟主机搭建博客(二)搭建篇
查看>>
先之教育出席第20届AMFORHT·UNWTO发展论坛
查看>>
Reliance Jio 4G网速最快 超过沃达丰及Idea
查看>>
你还记得当初30个分布式光伏示范区吗?
查看>>