我做了这个验证并且有效:
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));
我不知道这是否是最好的方式,但有效,但如果有人有正确的方式发帖请!
答案 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