Godofredo Tiro Tepayotl
Godofredo Tiro Tepayotl
Laravel
Comparte:

Mostrar los Nombramientos de una persona

Estoy realizando una aplicación que guarda los nombramientos de una persona, esta puede tener 1, 2, 3 ó mas nombramientos, logro registrar los nombramientos por cada persona pero al momento de listar los de una persona me muestra todos y quiero los que pertenecen a cada persona.
Modelo: Persona
public function nombras()
    {
        return $this->hasMany(Nombra::class, 'persona_id', 'id');
    }
Modelo: Nombra
public function persona()
    {
        return $this->belongsTo(Persona::class);
    }
Controlador: NombraController, estoy usando index,
public function index()
    {
        $nombra = Nombra::all(['id', 'cat_id', 'horas', 'plaza', 'partida', 'nombramientos_id', 'fecha_nom', 'persona_id' ]);
        
        $persona = auth()->user()->persona;
        $persona = Nombra::where('persona_id', $persona)->get();

        return view('nombra.index')
                ->with('nombra', $nombra)
                
                ->with('persona', $persona);
    }
Vista: index.blade.php
 <table class="table">
<thead class=" bg-primary text-light justify-content-between align-items-center">
            <tr>
                <th scole="col">#</th>
                <th scole="col">Nombre</th>
                <th scole="col">Apellido paterno</th>
                <th scole="col">Apellido materno</th>
                <th scole="col">No. Expediente</th>
                <th scole="col">Acciones</th>
                  
            </tr>
        </thead>
        @foreach($persona as $persona)
            <tr>
                 <td> {{$persona->id}} </td>
                 <td> {{$persona->nombre}} </td>
                 <td> {{$persona->ap_pat}} </td>
                 <td> {{$persona->ap_mat}} </td>
                 <td> {{$persona->exp}} </td>
                 
                 <td> 
                    
                    
<a href="{{ route('persona.show', ['persona'=> $persona->id])}} " class="btn btn-outline-primary d-block mb-2">Ver</a>
<a href="{{ route('persona.edit', ['persona'=> $persona->id])}}" class="btn btn-outline-secondary d-block mb-2">Editar</a>
<a href="{{ route('nombra.index', ['persona'=> $persona->id])}} " class="btn btn-outline-dark d-block mb-2">Nombramientos</a>
Jorge García
Jorge García (2780 xp)
En ese caso sólo es necesario una variable, me pregunto por qué sobreescribes la variable $persona? Quieres mostrar todas las personas o solo la personas del usuario autenticado?