模型开启protected $autoWriteTimestamp = true后,前端提交create_time、update_time字段,然后就会出现SQLSTATE[01000]: Warning: 1265 Data truncated for column 'create_time' at row 1

在模型开启

language 复制代码
//自动写入创建和更新的时间戳
    protected $autoWriteTimestamp = true;

后,前端提交create_time、update_time字段,然后就会出现

language 复制代码
SQLSTATE[01000]: Warning: 1265 Data truncated for column 'create_time' at row 1

,我在模型的field字段不写create_time、update_time字段,但是没有过滤掉啊,是哪里的问题呢

language 复制代码
protected $field = []
1个回答默认排序 投票数排序
weinizhibi
weinizhibi
这家伙很懒,什么也没写~
1月前

搞个中间件曲线救国

language 复制代码
protected array $variablesToFilter = ['create_time', 'update_time', 'delete_time'];
	
	public function handle(Request $request, Closure $next)
	{
		// 获取前端传来的所有请求参数
		$input = $request->all();
		// 递归过滤参数
		$filteredInput = $this->filterVariablesRecursively($input);
		// 将过滤后的参数重新设置到Post请求对象中
		$request->withPost($filteredInput);
		return $next($request);
	}
	
	protected function filterVariablesRecursively($data)
	{
		if (is_array($data)) {
			foreach ($data as $key => $value) {
				if (in_array($key, $this->variablesToFilter)) {
					unset($data[$key]);
				} else {
					$data[$key] = $this->filterVariablesRecursively($value);
				}
			}
		}
		return $data;
	}
请先登录
0
1
1
1