php laravel 空字符串变成了null
Posted 安果移不动
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php laravel 空字符串变成了null相关的知识,希望对你有一定的参考价值。
原因
app/Http/Kernel.php下
系统使用了这样的一个中间件
// \\Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull::class,
注释掉就可以解决
如果你对源码感兴趣
<?php
namespace Illuminate\\Foundation\\Http\\Middleware;
use Closure;
class ConvertEmptyStringsToNull extends TransformsRequest
/**
* All of the registered skip callbacks.
*
* @var array
*/
protected static $skipCallbacks = [];
/**
* Handle an incoming request.
*
* @param \\Illuminate\\Http\\Request $request
* @param \\Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
foreach (static::$skipCallbacks as $callback)
if ($callback($request))
return $next($request);
return parent::handle($request, $next);
/**
* Transform the given value.
*
* @param string $key
* @param mixed $value
* @return mixed
*/
protected function transform($key, $value)
return is_string($value) && $value === '' ? null : $value;
/**
* Register a callback that instructs the middleware to be skipped.
*
* @param \\Closure $callback
* @return void
*/
public static function skipWhen(Closure $callback)
static::$skipCallbacks[] = $callback;
可以看到是因为他
protected function transform($key, $value)
return is_string($value) && $value === '' ? null : $value;
以上是关于php laravel 空字符串变成了null的主要内容,如果未能解决你的问题,请参考以下文章