Estou com uma dúvida como posso salvar os dados que vem de um array
do form
, eu tenho 2 cadastros que vem de outra tabela ele só está salvando 1 registro e deixando outro de lado, segue código abaixo:
Controller
// autentifica o user logado e joga os dados cadastrado dele no form
public function listardados()
{
$matricula = Matricula::where('user_id', Auth::id())->get();
return view('dashboard.renovacao.teste', compact( 'matricula'));
}
// function que salva a renovacao
public function store(RenovacaoRequest $request)
{
$user = Auth()->user();
$dados = $request->get('rematricula');
// aqui a gente já pega a matricula do usuario logado
$matricula = Matricula::where("user_id","=",$user->id)->first();
// aqui a gente cria a renovação com os dados do request
$renovacao = new Renovacao($dados[0]);
//faz a associação entre um e o outro
$renovacao->matricula()->associate($matricula);
// manda a renovação pro banco
$renovacao->save();
// define a renovação da matricula
$matricula->renovacao_id = $renovacao->id;
// atualiza a matricula no banco
$matricula->save();
//dd($renovacao);
return view('dashboard.renovacao.confirmacao', compact ('renovacao'));
}
View 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))
<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">Inscrito
<i class="material-icons left">save</i>
</button>
@endif
</div>
</div>
@else
<div class="row"></div>
<div class="row"></div>
<p> Desculpe! Página Indisponivel, Você não tem cadastro </p>
<div class="row"></div>
<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>
– Migration renovacao_matricula
<?php
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreateRelacionamentoRenovacaoMatriculaTable extends Migration
{
public function up()
{
Schema::table('renovacao', function (Blueprint $table) {
$table->integer('matricula_id')->unsigned();
$table->foreign('matricula_id')->references('id')->on('matricula');
});
}
public function down()
{
Schema::table('renovacao', function (Blueprint $table) {
Schema::dropIfExists('renovacao');
});
}
}
– Migration matricula_ renovacao
<?php
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreateRelacionamentoMatriculaRenovacaoTable extends Migration
{
public function up()
{
Schema::table('matricula', function (Blueprint $table) {
$table->integer('renovacao_id')->nullable();
$table->foreign('renovacao_id')->references('id')->on('renovacao');
});
}
public function down()
{
Schema::table('matricula', function (Blueprint $table) {
Schema::dropIfExists('matricula');
});
}
}
– Migration Renovacao
<?php
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreateRenovacaoTable extends Migration
{
public function up()
{
Schema::create('renovacao', function (Blueprint $table) {
$table->increments('id');
$table->string('nomerespo');
$table->string('nomealuno');
$table->string('status')->default('pendente');
$table->timestamps();
});
}
public function down()
{
Schema::dropIfExists('renovacao');
}
}
– Migration Matricula
<?php
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreateMatriculasTable extends Migration{
public function up(){
Schema::create('matricula', function (Blueprint $table) {
$table->increments('id');
$table->integer('user_id')->unsigned();
$table->foreign('user_id')->references('id')->on('users');
$table->string('nomealuno');
$table->string('endereço');
$table->string('numero');
$table->string('cep');
$table->string('bairro');
$table->string('nomedopai');
$table->timestamps();
});
}
public function down()
{
Schema::dropIfExists('matriculas');
}
}