1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

¿Por que no me funciona la condición en la tabla de mi vista en laravel?

Discussion in 'Programming/Internet' started by M4uriXD, Oct 8, 2018.

  1. M4uriXD

    M4uriXD Guest


    Nota: Si me falto agregar algo de información iré actualizando la pregunta.

    Tengo la siguiente función en mi controlador, la cual pretendo que compare unos valores, entre tabla animales y especies, y siguiente a eso muestre el campo nombre de mi tabla especies.

    Dejo el controlador.

    public function show($id){

    $animales = AnimalesNew::find($id);

    $especies = Especies::find($id);

    if ($especies->id == $animales->especie_id) {

    //SOMETHING

    } else {
    return Redirect()->back();
    }


    $habitat = Habitat::all();

    return view('animales.MostrarDetallesAnimal', compact('animales', 'especies', 'habitat'));

    }


    Además dejo la vista MostrarDetallesAnimal.blade.php en donde pretendo mostrar el nombre de la especie.

    <!--THEAD-->
    <tbody>
    <tr>
    <td>{{$animales->id}}</td>
    <td>{{$animales->nombre}}</td>
    <td>{{$animales->area}}</td>
    <td>{{$animales->caracteristicas}}</td>


    @if($animales->especies_id == $especies->id)
    <td>{{$especies->nombre}}</td>
    @endif

    <td></td>
    </tr>
    </tbody>


    Con la condición en mi controlador pensaba comparar los valores de los campos especie_id de la tabla animales y el id de la tabla especies. Para luego mostrar el nombre de la especie.

    Pero no funciona, solo muestra un valor si el especie_id coincide con el valor del id de la tabla animales, pero yo no quiero que lo compare con el id de la tabla animales. Por eso pensaba crear alguna condición pero no se muy bien que poner dentro del IF.

    Un ejemplo es:

    La tabla animales tiene los siguientes registros.

    ID|nombre|especie_id

    1|LEON|1
    2|TIGRE|1
    3|HORMIGA|2


    Y la tabla especies tiene los siguientes registros.

    ID|nombre

    1|MAMIFEROS
    2|INSECTOS
    3|PECES


    Al ver los detalles de un animal, por ejemplo el león me muestra su especie, pero para el tigre no, y para la hormiga tampoco, como mencioné antes, en la vista, el @if-else que tengo me compara el id de la tabla animales con el especie_id (de la misma tabla), cosa que no debería suceder.

    Porque lo que busco es que compare el id de la tabla especies, con el especies_id de la tabla animales.

    Es por ello que intento implementar una condición en la función show()

    Login To add answer/comment
     

Share This Page