Greetings wherever you are on that side of the receiver, I have weeks learning about this giant that is laravel (5.5), I have a system to develop during my degree work, but I have a big failure, I can not find or not how to pass the methods of two related tables (1-1), each with its controller to a specific view, if you could help me I would be greatly grateful, then the codes ...
**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