laravel 5双重验证和请求

时间:2015-04-06 18:05:54

标签: laravel-5

我做了这个验证并且有效:

public function salvar(CreateEquipamento $Vequip, CreateLocalizacao $VLocal)
    {
        $this->equipamento->create($Vequip->all());

        $equipamento = $this->equipamento->create($input);   

        return redirect()->route('equipamento.index');
    }

我想要的是做一些像获取最后创建的设备ID并包含在数组中以验证和创建本地验证(CreateLocalizacao $VLocal),因为我有两个表,一个用于设备,另一个用于设备一个人存放我的设备所在的所有地方。

$input['equipamento_id'] = $equipamento->id;

$this->localizacao->create($VLocal->all());

我怎么能这样做?提前thx!

我做了“workarround”解决方案;)

$localizacao = [
                'equipamento_id' => $id,
                'centrocusto_id' => $input['centrocusto_id'],
                'projeto' =>  $input['projeto'],
                'data_movimentacao' =>  $input['data_movimentacao']
                ];

$this->localizacao->create($VLocal->all($localizacao)); 

我不知道这是否是最好的方式,但有效,但如果有人有正确的方式发帖请!

1 个答案:

答案 0 :(得分:1)

您使用的是Laravel 5吗?

如果是,请使用表单请求,它们使一切变得更容易。如果您需要从一个表单中验证两件事,您只需在控制器方法中放入两个请求。我在为电子商务页面注册用户时使用此功能。我需要验证用户数据和地址数据,如下所示:

public function store(UserRegisterRequest $user_request, AddressCreateRequest $add_request)
{
    //if this is being executed, the input passed the validation tests...
    $user = User::create(
       //... some user input...
    ));

    Address::create(array_merge(
      $add_request->all(),
      ['user_id' => $user->id]
    ));
}}

使用artisan创建请求:php artisan make:request SomethingRequest,它会生成一个空请求(请注意,authorize函数始终返回false,将其更改为true或验证用户是否有权发出请求的代码)。

以下是请求的示例:

class AddressCreateRequest extends Request {
  public function authorize()
  {
    return true;
  }

  public function rules()
  {
    return [
       "fullname"  => "required",
       //other rules
    ];
  }

}

关于文档的更多内容:    http://laravel.com/docs/5.0/validation#form-request-validation