Сериализация «Закрытия» не допускается – laravel

Я пытаюсь создать кортеж в своей таблице. Данные взяты из формы или получены. Моя база данных: введите описание изображения здесь

Посмотреть

@extends('plantilla') @section('contenido') <div class="formulario"> {{Form::open(array('url' => 'servicio/create', 'files' => true))}} <input type="text" class="form-control" id="direccion" name="dirrecion" placeholder="Dirección" > <input type="text" class="form-control" id="cliente" name="cliente" placeholder="Nombre Cliente" > <input type="time" name='horainicio' id='horainicio' min='time' max='time' > {{Form::file('pdf', array('title' => 'Search for a file to add'))}} {{Form::select('idtecnico', $tecnico_selector)}} {{ Form::submit('Guardar', array('class' => 'btn btn-primary ')) }} {{Form::close()}} </div> @stop 

маршрут

 Route::get('servicio/create', function(){ $tecnicos = Tecnico::all(); $tecnico_selector = array(); foreach ($tecnicos as $tecnico) { $tecnico_selector[$tecnico->idTecnico] = $tecnico->Nombre; } return View::make('formservicio', array('tecnico_selector' => $tecnico_selector)); }); Route::post('servicio/create', array('uses' => 'ServicioController@doCreate')); 

Модель

 class Servicio extends Eloquent{ protected $table = 'Servicio'; protected $primaryKey = 'idServicio'; protected $fillable = array( 'Direccion', 'RutaPDF', 'Completado' ); public function materialUsado(){ return $this->hasMany('Material_Usado', 'idMaterial_Usado'); } public function tecnicos(){ return $this->belongsToMany('Tecnico', 'Servicio_Tecnico', 'Servicio_idServicio', 'Tecnico_idTecnico'); } } 

контроллер

 class ServicioController extends BaseController{ public function doCreate(){ $rules = array( 'idtecnico' => 'required', 'direccion' => 'required', 'cliente' => 'required' ); $validator = Validator:: make(Input::all(), $rules); if($validator->fails()){ return Redirect::to('servicio/create') ->withErros($validator) ->withInput(); }else{ $input = array( 'Direccion' => Input::get('direccion'), 'Cliente' => Input::get('cliente'), 'Completado' => '0' ); Servicio::create($input); /*$servicio = new Servicio; $servicio->Direccion = Input::get('direccion'); $servicio->Cliente = Input::get('cliente'); $servicio->Completado = '0'; $servicio->tecnicos->attach($idtecnico); $servicio->save();*/ $path = public_path().'/servicio/'.$servicio->idServicio; File::makeDirectory($path, $mode = 0777, true, true); // creamos la carpeta $archivoPdf = Input::file('pdf'); $archivoPdf->move($path, 'servicio'); /*$servicio->RutaPDF = $path.'/servicio'; $servicio->save();*/ } } } 

Когда вы полностью меняете форму и отправляете ее, следующая ошибка

введите описание изображения здесь

как я могу это исправить?

У вас есть опечатка в вашем контроллере: ->withErros($validator) – она ​​должна быть withErrors . Разница большая.

Laravel конвертирует с withErros($validator) в with(['erros' => $validator]) , что означает попытку поместить весь объект проверки в сеанс. Чтобы помещать вещи в хранилище сеансов, сначала необходимо сначала сериализовать, что и вызывает ошибку.

У меня была аналогичная проблема:

Проблема заключалась в следующем:

  • Я проверял ввод не существует.
  • Имя столбца (базы данных) не похоже на имя ввода
  • Столбец (база данных) не является нулевым