Boa noite, tenho o seguinte problema quero salvar id que vem de outra tabela, no meu caso quando um user solicita uma renovação antes de confirmar ele pega os dados da tabela matricula relacionado ao usuário logado e joga no form..
Como eu posso salvar esse id da renovação na tabela matricula, e id da matricula na tabela renovação ? Porque no final da historia queria coloca uma validação de cadastro para não ter dados duplicados caso ele tenha feito a solicitação de renovação o botão teria o nome trocado para "inscrito" como mostra no form no código abaixo...
-- Matricula controller
//Nessa função eu faço o tratamento para salvar o user_id quando vai criar uma nova matricula que teria um campo para colocar email do usuario no form
public function store(MatriculaRequest $request)
{
$caminhos = [
['url'=>'/admin','titulo'=>'Tela Inicial'],
['url'=>route('matricula.index'),'titulo'=>'Matricula'],
['url'=>'','titulo'=>'Inscricao Realizada'],
];
$user = Auth()->user();
$user = User::where('email', $request->user_id)->get(); //se o user informado no sistema existir no sistema ele salva no banco se nao tiver ele mostra mensagem de erro
if(isset($user)){
$dados = $request->all();
$dados['user_id'] = $user[0]->id;
$dados['datanascimento'] = new DateTime(str_replace("/","-",$dados['datanascimento']));
$dados['dataexpedicao'] = new DateTime(str_replace("/","-",$dados['dataexpedicao']));
$dados['dataMatricula'] = new DateTime(str_replace("/","-",$dados['dataMatricula']));
$matricula = Matricula::create($dados);
//return'Cadastrado com Sucesso......';
return view('dashboard.matricula.confirmacao');
//return redirect('/admin/matricula')->with('info','Cadastro feito!');
//dd($dados);
}
}
-- Renovacao controller
//Nessa função ele busca a matricula do usuario logado se tiver ele gera um form se nao tiver ele informa que usuario n tem matricula
public function listardados(){
$matricula = Matricula::where('user_id', Auth::id())->get();
return view('dashboard.renovacao.teste', compact( 'matricula'));
}
//Nessa função salva os dados do form caso usuario tenha matricula
public function store(RenovacaoRequest $request){
$user = Auth()->user();
$dados = $request->get('rematricula');
foreach ($dados as $key => $dado) {
Renovacao::create($dado);
}
return view('dashboard.renovacao.confirmacao', compact ('renovacao'));
}
-- form
<form class="form-horizontal " id="regForm" action="{{route('renovacao.store')}}" method="POST">
<div class="card-panel white">
<h4 class="center">Solicitar Renovação</h4>
<div class="row"></div>
{{ csrf_field()}}
<div class="row">
@if($matricula->count())
<right>
<a>**Dados Cadastrados**</a>
</right>
<div class="row"></div>
<div class="row"></div>
@foreach($matricula as $matric)
<div class="row">
<div class="col s6 m6">
<div class="input-field {{$errors->has('') ? 'has-error' : ''}} ">
<label for="produto">Nome do Pai:</label>
<input type="text" class="form-control" name="rematricula[{{ $loop->index}}][nomerespo]" value="{{ $matric->nomedopai }}">
</div>
</div>
<div class="col s6 m6">
<div class="input-field {{$errors->has('') ? 'has-error' : ''}} ">
<label for="produto">Nome do Aluno(a):</label>
<input type="text" class="form-control" name="rematricula[{{ $loop->index}}][nomealuno]" value="{{ $matric->nomealuno }}">
</div>
</div>
</div>
@endforeach
<div class = "row">
<div class="col s12">
<a title="Voltar Para Página Principal" class="btn orange darken-4 btn-info left " href="/admin">Voltar
<i class="material-icons left">arrow_back_ios</i>
</a>
@if(empty($matric->renovacao_id)) // se existir renovacao o botão de status muda para "inscrito"
<button type="submit" class="btn orange darken-4 btn-info right">Confirmar
<i class="material-icons left">save</i>
</button>
@else
<button disabled type="submit" class="btn orange darken-4 btn-info right">Confirmar
<i class="material-icons left">save</i>
</button>
@endif
</div>
</div>
@else
<div class="row"></div>
<p> Desculpe! Página Indisponivel</p>
<div class="row"></div>
<a title="Voltar Para Página Principal" class="btn orange darken-4 btn-info left " href="/admin">Voltar
<i class="material-icons left">arrow_back_ios</i>
</a>
@endif
</div>
</div>
</form>