laravel之null替换空字符串中间件
Posted limes
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了laravel之null替换空字符串中间件相关的知识,希望对你有一定的参考价值。
在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‘, ‘[email protected]‘)->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; }
以上是关于laravel之null替换空字符串中间件的主要内容,如果未能解决你的问题,请参考以下文章
用 DataFrame 中的 None/null 值替换空字符串
Django REST Framework:如何用空字符串替换 null?
Python和SQL:用SQL的“Null”值替换DataFrame的空字符串,以将数据插入数据库中而不会出现格式错误[重复]