Curso Laravel 9 - 12 Consultas con tablas relacionadas (INNER JOIN)

Поделиться
HTML-код
  • Опубликовано: 22 окт 2024

Комментарии • 13

  • @ivanalvarado9670
    @ivanalvarado9670 2 года назад +1

    Hola me gustó mucho tu vídeo pero tengo una consulta se puede jalar datos de 3 o 4 tablas a una sola, de esta misma forma . Es decir tengo una tabla proyecto y de esta ocupo de una tabla que se llama categoría de otra que se llama organización pero para llegar a organización tiene que ir a involucrado
    Algo así
    Organización->involucrados->involucrados-proyecto

    • @pancracioff7945
      @pancracioff7945 2 года назад

      pudiste vincular todas las tablas a una sola?

    • @ivanalvarado9670
      @ivanalvarado9670 2 года назад +1

      @@pancracioff7945 hola si es posible con esta misma logica del video

    • @ronaldo.i.o.8401
      @ronaldo.i.o.8401 Год назад

      @@ivanalvarado9670 contarle q no pude...hacer de 3 tablas. X mas q intentl y intento

  • @hernanvargas9025
    @hernanvargas9025 Год назад +1

    Como podría hacer la unión de una tabla que no tiene llave foránea directamente, es decir está relacionada por medio de otra tabla, pero quiero mostrar algunos datos de esa table

    • @guillermogomez9969
      @guillermogomez9969 Год назад +2

      Hola Hernan, no hace falta que este creada la llave foranea, por ejemplo, Tabla A= Libro, tabla B= Autor, en Autor deberías tener como clave primaria una columna "id" y el libro una columna "autor_id", con eso es suficiente.

    • @hernanvargas9025
      @hernanvargas9025 Год назад +1

      @@guillermogomez9969 Gracias!

  • @oshoosho4604
    @oshoosho4604 Год назад +2

    lamentablemente esto no funciona cuando laravel solo funciona como backend y no backend y frontend a la vez. por ejemplo si laravel está en el backend y reactjs en el frontend, esto no funciona. debido a q reactjs va a consumir endpoints proporcionados por laravel, y cuando laravel solo devuelve endpoints y no vistas, solo devuelve jsons y siguiendo este ejemplo, en ese json no se estaría devolviendo nada q no sea lo q esté especificado en el controlador.

    • @oshoosho4604
      @oshoosho4604 Год назад +1

      la solución a este problema es:
      1) hacer en el modelo todo tal cual se explica en el video
      2) en el controlador, devolver lo siguiente:
      return Producto::with('categoria')->get(); // donde 'categoria' viene siendo el nombre de la función que está en el modelo y devuelve el belongsTo
      sin embargo, a mí personalmente me surge una gran duda:
      Esto no lo encontré ni en la documentación oficial, entonces siempre me he preguntado: si en la documentación oficial no está, cómo es posible q gente de a pie en este mundo haya dado con la solución, de dónde lo sacan si se supone q todo está en la documentación oficial? son cocreadores de laravel acaso? nunca me han sabido responder esa duda

    • @codigosdeprogramacion
      @codigosdeprogramacion  Год назад +1

      Es sencillo, si te quedas con los ejemplos de la documentación tu aprendizaje será cerrado y tendrás dudas como estas. La documentación te sirve mucho pero dependerá de tus conocimientos y experiencia para buscar soluciones que la documentación no te da.

    • @oshoosho4604
      @oshoosho4604 Год назад +1

      @@codigosdeprogramacion pues muy mal, toda documentación oficial debería ser absolutamente completa y no dejar nada a la interpretación o al azar. una documentación oficial debe abordar todos los casos posibles con los que dicha tecnología puede trabajar por sí sola. ahhh q seria muy extensa... pues de malas. q salgan las páginas q sean necesarias, para eso está la página de índice y uno va directo a lo que necesita

    • @ronaldo.i.o.8401
      @ronaldo.i.o.8401 Год назад

      @@codigosdeprogramacion profesor.php
      protected $table = "profesors";

      public function asignarpromas()
      {
      return $this->hasMany(asignarproma::class,'profesor_id','id');
      }
      asignarproma.php
      public function index()
      {
      $userid=auth()->user()->id;
      $asignarpromas = DB::table('profesors')
      ->join('asignarpromas','asignarpromas.profesor_id','=','profesors.id')
      ->join('users','users.id','=','profesors.user_id')
      ->select('asignarpromas.*','profesors.*')
      ->where('profesors.user_id','=',$userid)
      ->asignarpromas()
      ->get();
      return view('asignarproma.index',compact('asignarpromas'));
      errror
      BadMethodCallException
      Call to undefined method Illuminate\Database\Query\Builder::asignarpromas()
      no reconoce la funcion ->asignarpromas() ayuda favor
      esque quiero mostrar el nombre del profesor en el index.php
      @foreach ($asignarpromas as $asignarproma)

      {{ $asignarproma->id }}
      {{ $asignarproma->profesor->nombre}} //pero no reconoce ->profesor->nombre