gpt4 book ai didi

php - 不允许序列化 'Closure' - laravel

转载 作者:行者123 更新时间:2023-11-29 01:07:47 30 4
gpt4 key购买 nike

我正在尝试在我的表中创建一个元组。数据来自表格或收到。我的数据库: enter image description here

查看

@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');
}
}

Controller

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();*/







}
}
}

当完全改变表单并发送时,出现如下错误

enter image description here

我该如何解决?

最佳答案

你的 Controller 中有一个拼写错误:->withErros($validator) - 它应该是 withErrors。区别很大。

Laravel 将withErros($validator) 转换为with(['erros' => $validator]),意思是试图将整个validator 对象放到session 中.要将东西放入 session 存储中,需要先将其序列化,这就是导致错误的原因。

关于php - 不允许序列化 'Closure' - laravel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23451535/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com