0
Route::put('equipes/insereAluno/{equipe}',['as'=>'equipes.insereAluno','uses'=>'EquipesController@insereAluno']);
My side.
{!! Form::model($equipe,['method'=>'PUT','route'=>['equipes.insereAluno',$equipe->id]]) !!}
<div class="row">
<div class="col-xs-5">
{!! Form::label('disponivel', 'Alunos sem Equipes:') !!} <br/>
{!! Form::select('disponivel',$disponiveis,null,['class'=> 'form-control chosen']) !!}
{!! $errors->first('disponivel', '<span class="text-danger">:message</span> ') !!}
</div>
@if($modalidades)
<div class="col-xs-5">
{!! Form::label('modalidades', 'Selecione as provas que o aluno participará: ') !!}
<br/>
{{ Form::select('modalidades[]',$modalidades, null,['class'=>'form-control chosen','multiple'])}}
{!! $errors->first('modalidades', '<span class="text-danger">:message</span> ') !!}
</div>
@endif
<div class="col-xs-2" style="margin-top:4px">
<br/>
{!! Form::submit('Adicionar',['class'=>'btn btn-primary','title'=>'Adicionar aluno à equipe']) !!}
</div>
</div>
My controller
public function insereAluno(EquipeInsereAlunoRequest $request,$id)
{
$equipe = $this->equipe->find($id);
$modalidades = $request->input('modalidades');
if($equipe)
{
if(count($modalidades) > $equipe->modalidade->limite_de_provas)
{
Notification::error("O aluno só pode participar de {$equipe->modalidade->limite_de_provas} prova(s) por vez.");
}
else
{
$alunoEquipe = new AlunoEquipe;
$alunoEquipe->aluno_id = $request->input('disponivel');
$alunoEquipe->equipe_id = $id;
if($equipe->categoria == 'Infantil')
{
$num_max = $equipe->modalidade->num_max_infantil;
}
else //Juvenil
{
$num_max = $equipe->modalidade->num_max_juvenil;
}
if($equipe->total_alunos($id) >= $num_max)
{
Notification::error("Não é possível inserir mais alunos nesta modalidade.");
return back()->withInput();
}
else{
try {
if ($alunoEquipe->save()) {
Notification::success('Aluno inserido na equipe.');
if($modalidades){
foreach($modalidades as $modalidade)
{
$alunoEquipeModalidade = new AlunoEquipeModalidade;
$alunoEquipeModalidade->aluno_equipe_id = $alunoEquipe->id;
$alunoEquipeModalidade->modalidade_id = $modalidade;
try {
$alunoEquipeModalidade->save();
} catch (Exception $e) {
Notification::error($e->getMessage());
}
}
}
return redirect()->route('equipes.show',$id);
}
Notification::error('Não foi possível inserir aluno na equipe.');
} catch (Exception $e) {
Notification::error($e->getMessage());
}
}
}
}
return back()->withInput();
}
Is your form being closed? I missed the function
{{Form::close()}}
– Ryan Lemos