saludos donde quiera que se encuentren de ese lado del receptor, tengo semanas aprendiendo sobre este gigante que es laravel (5.5), tengo un sistema que desarrollar durante mi trabajo de grado, pero tengo una gran falla, no encuentro o no se como pasar los métodos de dos tablas relacionadas (1-1), cada una con su controlador a un a vista en especifico, si me podrían ayudar estaría grandemente agradecido, a continuación los codigos...
**las rutas**
<?php
use App\Institucion;
Route::get('/', function ()
{
return view('index');
});
Route::get('/instituciones','InstitucionesController@index');
Route::get('/instituciones/agregar','InstitucionesController@agregar');
Route::post('/instituciones','InstitucionesController@store');
Route::get('/instituciones/{id}','InstitucionesController@show')
->where('id','[0-9]+');
Route::get('/estudios/agregar','CasosEstudiosController@agregar');
Route::post('/estudios','CasosEstudiosController@store');
Route::get('/estudios/{id}','CasosEstudiosController@show')
->where('id','[0-9]+');
**controlador de la tabla instituciones**
<?php
namespace App\Http\Controllers;
use App\Http\Requests\InstitucionRequest;
use App\Institucion;
use App\CasoEstudio;
use Illuminate\Http\Request;
class InstitucionesController extends Controller
{
public function index()
{
$instituciones = Institucion::all();
return view('instituciones/index',['instituciones'=>$instituciones]);
}
public function agregar()
{
$instituciones = Institucion::all();
return view('instituciones/agregar', compact('instituciones'));
}
public function store()
{
request()->validate([
'nom'=>'required',
'rif'=>'required',
'naturaleza'=>'',
'email'=>'required',
'tlf1'=>'required',
'tlf2'=>'required',
'tlf3'=>'required',
'direccion'=>'required',
]);
Institucion::create(request()->all());
return redirect('instituciones');
}
public function show($id)
{
$institucion = Institucion::find($id);
return view('instituciones/show',['institucion'=>$institucion]);
}
}
**controlador de la tabla casos_estudios**
<?php
namespace App\Http\Controllers;
use App\Http\Requests\InstitucionRequest;
use App\Http\Requests\CasoEstudioRequest;
use App\Institucion;
use App\CasoEstudio;
use Illuminate\Http\Request;
class CasosEstudiosController extends Controller
{
public function agregar()
{
$casos_estudios = CasoEstudio::all();
return view('/estudios/agregar', compact('casos_estudios'));
public function store()
{
request()->validate([
'fec_envio' => 'request',
'fec_respuesta' => 'request',
'num_entrega' => 'request',
'num_oficio_siss' => 'request',
'num_exp_supervision' => 'request',
]);
CasoEstudio::create(request()->all());
return redirect('instituciones');
}
public function show($id)
{
$caso_estudio = CasoEstudio::find($id);
return view('estudios/show',['caso_estudio'=>$caso_estudio]);
}
}
**la vista :( **
{{-- DATOS DE UNA INSTITUCION EN PARTICULAR --}}
@extends('layouts.main')
@section('title')
{{ $institucion -> nom}}
@endsection
@section('content')
<!-- Breadcrumbs-->
<ol class="breadcrumb">
<li class="breadcrumb-item">
<a href={{asset("/")}}>Inicio</a>
</li>
<li class="breadcrumb-item active">
<a href={{asset("/instituciones")}}>Instituciones</a>
</li>
<li class="breadcrumb-item active">
<a href={{asset("/instituciones/{$institucion->id}")}}>{{$institucion->nom}}</a>
</li>
</ol>
<ul class="nav nav-tabs">
<li class="nav-item">
<a class="nav-link active show" data-toggle="tab" href="#Perfil">Perfil</a>
</li>
<li class="nav-item">
<a class="nav-link" data-toggle="tab" href="#Estudio">Estudio</a>
</li>
<li class="nav-item">
<a class="nav-link" data-toggle="tab" href="#Seguimiento">Seguimiento</a>
</li>
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" data-toggle="dropdown" href="#" role="button" aria-haspopup="true" aria-expanded="false">Archivos</a>
<div class="dropdown-menu">
<a class="dropdown-item" href="#">01</a>
<a class="dropdown-item" href="#">02</a>
<a class="dropdown-item" href="#">03</a>
</div>
</li>
</ul>
{{-- pestaña 1 --}}
<div id="myTabContent" class="tab-content">
<div class="tab-pane fade active show" id="Perfil">
<ul class="list-group">
<li class="list-group-item d-flex justify-content-between align-items-center">
Acronimo:<br>{{$institucion -> acronimo}}
</li>
<li class="list-group-item d-flex justify-content-between align-items-center">
Nombre:<br>{{$institucion -> nom}}
</li>
<li class="list-group-item d-flex justify-content-between align-items-center">
RiF:<br>G-{{$institucion -> rif}}
</li>
<li class="list-group-item d-flex justify-content-between align-items-center">
Naturaleza:<br>{{$institucion -> naturaleza}}
</li>
</ul>
</div>
{{-- pestaña 2 --}}
<div class="tab-pane fade" id="Estudio">
<form action="{{asset("/estudios")}}" method="get" role="form">
@if( empty($institucion['caso_estudio_id'] ))
{{ csrf_field() }}
{{-- <button type="submit" class="btn btn-danger">
Agregar Caso de Estudio</button> --}}
<div class="container-fluid">
<div class="panel panel-danger">
<div class="panel-body">
<form action="{{asset("/estudios")}}" method="post" role="form">
{{ csrf_field() }}
<legend>Agregar el caso de estudio</legend>
@include('layouts._validation-errors')
<div class="form-group">
<label>Fecha de envio</label>
<input name="fec_envio" value="{{old('fec_envio')}}" class="form-control" type="number" placeholder="Indique Fecha de envio">
</div>
<div class="form-group">
<label>Fecha de respuesta</label>
<input name="fec_respuesta" value="{{old('fec_respuesta')}}" class="form-control" type="number" placeholder="Indique Fecha de respuesta">
</div>
<div class="form-group">
<label>Nº Entrega</label>
<input name="num_entrega" value="{{old('num_entrega')}}" class="form-control" type="number" placeholder="Nº Entrega">
</div>
<div class="form-group">
<label>Nº Oficio SiSS</label>
<input name="num_oficio_siss" value="{{old('num_oficio_siss')}}" class="form-control" type="number" placeholder="Nº Oficio SiSS">
</div>
<div class="form-group">
<label>Nº Expediente de Supervision</label>
<input name="num_exp_supervision" value="{{old('num_exp_supervision')}}" class="form-control" type="number" placeholder="Nº Expediente de Supervision">
</div>
{{-- <div class="form-group">
<div class="custom-control custom-checkbox">
<input type="checkbox" value='1' name='cot_tesoro' class="custom-control-input" id="customCheck1">
<label class="custom-control-label" for="customCheck1">Cotiza en el Tesoro Nacional</label>
</div>
<div class="custom-control custom-checkbox">
<input type="checkbox" value='1' name='cot_banavih' class="custom-control-input" id="customCheck1">
<label class="custom-control-label" for="customCheck1">Cotiza en BANAVIH?</label>
</div>
<div class="custom-control custom-checkbox">
<input type="checkbox" value='1' name='cot_ivss' class="custom-control-input" id="customCheck1">
<label class="custom-control-label" for="customCheck1">Cotiza en el IVSS</label>
</div>
</div> --}}
<div class="form-group">
<label>Porcentaje aportado por el trabajador</label>
<input name="aport_trabaj" value="{{old('aport_trabaj')}}" class="form-control" type="text" placeholder="Indique el procentaje aportado por el trabajador">
</div>
<div class="form-group">
<label>Porcentaje aportado por el patrono</label>
<input name="aport_patron" value="{{old('aport_patron')}}" class="form-control" type="text" placeholder="Indique porcentaje aportado por el patrono">
</div>
<div class="form-group">
<label>Nº activos fijos</label>
<input name="fijos_act" value="{{old('fijos_act')}}" class="form-control" type="text" placeholder="Cantidad de activos fijos">
</div>
<div class="form-group">
<label>Nº cantidad de activos contratados</label>
<input name="contratados_act" value="{{old('contratados_act')}}" class="form-control" type="text" placeholder="Cantidad de activos contratados">
</div>
<div class="form-group">
<label>Nº activos (otros)</label>
<input name="otros_act" class="form-control" value="{{old('otros_act')}}" type="text" placeholder="Cantidad de activos (otros)">
</div>
<div class="form-group">
<label>Nº mujeres jubiladas</label>
<input name="jubiladas" value="{{old('jubiladas')}}" class="form-control" type="text" placeholder="Cantidad de mujeres jubiladas">
</div>
<div class="form-group">
<label>Nº hombres jubilados</label>
<input name="jubilados" value="{{old('jubilados')}}" class="form-control" type="text" placeholder="Cantidad de hombres jubilados">
</div>
<div class="form-group">
<label>Monto anual</label>
<input name="jubilados_bs_anual" value="{{old('jubilados_bs_anual')}}" class="form-control" type="text" placeholder="Monto anual de la nomina en Bs.">
</div>
<div class="form-group">
<label>Nº mujeres pensionadas por sobrevivientes</label>
<input name="pensionadas_s" value="{{old('pensionadas_s')}}" class="form-control" type="text" placeholder="Cantidad de mujeres pensionadas por sobrevivientes">
</div>
<div class="form-group">
<label>Nº hombres pensionados por sobrevivientes</label>
<input name="pensionados_s" value="{{old('pensionados_s')}}" class="form-control" type="text" placeholder="Cantidad de hombres pensionados sobrevivientes">
</div>
<div class="form-group">
<label>Monto anual</label>
<input name="pensionados_s_bs_anual" value="{{old('pensionados_s_bs_anual')}}" class="form-control" type="text" placeholder="Monto anual de la nomina en Bs.">
</div>
<div class="form-group">
<label>Nº mujeres pensionadas por incapacidad</label>
<input name="pensionadas_i" value="{{old('pensionadas_i')}}" class="form-control" type="text" placeholder="Cantidad de mujeres pensionadas por incapacidad">
</div>
<div class="form-group">
<label>Nº de hombres pensionados por incapacidad</label>
<input name="pensionados_i" value="{{old('pensionados_i')}}" class="form-control" type="text" placeholder="Cantidad de hombres pensionados incapacidad">
</div>
<div class="form-group">
<label>Monto anual</label>
<input name="pensionados_i_bs_anual" value="{{old('pensionados_i_bs_anual')}}" class="form-control" type="text" placeholder="Monto anual de la nomina en Bs.">
</div>
<div class="form-group">
<label>Observaciones</label>
<input name="observaciones" value="{{old('observaciones')}}" class="form-control" type="textarea" placeholder="Indique alguna observaciones, si existe">
</div>
<button type="submit" class="btn btn-danger">Agregar Ahora</button>
</form>
</div>
</div>
</div>
{{-- final caso de estudio --}}
@else
<div class="row">
<div class="col-md-12">
<div class="alert alert-info">
<div class="tab-pane fade active show" id="Perfil">
<ul class="list-group">
<li class="list-group-item d-flex justify-content-between align-items-center">
Fecha de envio:<br>{{$institucion->casoestudio->fec_envio}}
</li>
<li class="list-group-item d-flex justify-content-between align-items-center">
Fecha de respuesta:<br>{{$caso_estudio-> fec_respuesta}}
</li>
<li class="list-group-item d-flex justify-content-between align-items-center">
Nº Entrega:<br>{{$caso_estudio-> num_entrega}}
</li>
<li class="list-group-item d-flex justify-content-between align-items-center">
Nº Oficio SiSS:<br>{{$caso_estudio-> num_oficio_siss}}
</li>
<li class="list-group-item d-flex justify-content-between align-items-center">
Nº Expediente de Supervision:<br>{{$caso_estudio-> num_exp_supervision}}
</li>
{{--
<li class="list-group-item d-flex justify-content-between align-items-center">
Fecha de envio:<br>{{$caso_estudio-> cot_tesoro}}
</li>
<li class="list-group-item d-flex justify-content-between align-items-center">
Fecha de respuesta:<br>{{$caso_estudio-> cot_banavih}}
</li>
<li class="list-group-item d-flex justify-content-between align-items-center">
Nº Entrega:<br>{{$caso_estudio-> cot_ivss}}
</li> --}}
<li class="list-group-item d-flex justify-content-between align-items-center">
Porcentaje aportado por el trabajador:<br>{{$caso_estudio-> aport_trabajador}}
</li>
<li class="list-group-item d-flex justify-content-between align-items-center">
Porcentaje aportado por el patrono:<br>{{$caso_estudio-> aport_patron}}
</li>
<li class="list-group-item d-flex justify-content-between align-items-center">
Nº activos fijos:<br>{{$caso_estudio-> fijos_act}}
</li>
<li class="list-group-item d-flex justify-content-between align-items-center">
Nº activos contratados:<br>{{$caso_estudio-> contratados_act}}
</li>
<li class="list-group-item d-flex justify-content-between align-items-center">
Nº ativos (otros):<br>{{$caso_estudio-> otros_act}}
</li>
<li class="list-group-item d-flex justify-content-between align-items-center">
Porcentaje aportado por el trabajador:<br>{{$caso_estudio-> jubiladas}}
</li>
<li class="list-group-item d-flex justify-content-between align-items-center">
Porcentaje aportado por el patrono:<br>{{$caso_estudio-> jubilados}}
</li>
<li class="list-group-item d-flex justify-content-between align-items-center">
Porcentaje aportado por el patrono:<br>{{$caso_estudio-> jubilados_bs_anual}}
</li>
<li class="list-group-item d-flex justify-content-between align-items-center">
Nº mujeres pensionadas por incapacidad:<br>{{$caso_estudio-> pensionadas_i}}
</li>
<li class="list-group-item d-flex justify-content-between align-items-center">
Nº hombres pensionados por incapacidad:<br>{{$caso_estudio-> pensionados_i}}
</li>
<li class="list-group-item d-flex justify-content-between align-items-center">
Monto anual de la nomina:<br>{{$caso_estudio-> pensionados_i_bs_anual}}Bs.
</li>
<li class="list-group-item d-flex justify-content-between align-items-center">
Nº mujeres pensionadas por sobreviviente:<br>{{$caso_estudio-> pensionadas_s}}
</li>
<li class="list-group-item d-flex justify-content-between align-items-center">
Nº hombres pensionados por sobreviviente:<br>{{$caso_estudio-> pensionados_s}}
</li>
<li class="list-group-item d-flex justify-content-between align-items-center">
Monto anual de la nomina:<br>{{$caso_estudio-> pensionados_s_bs_anual}}Bs.
</li>
<li class="list-group-item d-flex justify-content-between align-items-center">
Observaciones:<br>{{$caso_estudio-> observaciones}}
</li>
</ul>
</div>
</div>
</div>
</div>
@endif
</form>
</div>
{{-- pestaña 3 --}}
<div class="tab-pane fade" id="Seguimiento">
<p>
en construccion
</p>
</div>
{{-- pestaña 4 --}}
<div class="tab-pane fade" id="Archivos">
<p>
en construccion
</p>
</div>
</div>
@endsection
pero tengo una gran falla, no encuentro o no se como pasar los métodos de dos tablas relacionadas (1-1), cada una con su controlador a un a vista en especifico