3 Formas de Hacer Cruces en Laravel

Senpai19899 Seguir
Seguidores
6

No recomendado
Verificación en dos pasos desactivada
Verificado por Whatsapp
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
9 Oct 2019
Mensajes
213
En esta oportunidad veremos rápidamente como hacer cruces con laravel, la logica es similar en la mayoria de frameworks de php menos en codeigniter.

Ejemplo 1:

En este ejemplo hacemos un cruce entre 3 tablas, donde nos trae todo agregando la condición del email, para eso usamos la clase DB

PHP:
$users = DB::table('users as u')
     ->leftJoin('users_products as up', 'u.id', '=', 'up.user_id')
     ->leftJoin('products as p', 'p.id', '=', 'up.product_id')        
     ->select('*')
     ->where('u.email', $email)    
     ->get();

Ejemplo 2:

En este ejemplo aplicamos el select con el uso del modelo

PHP:
$media = GalleryModel::select('attachment.type as mime', 'attachment.media_type', 'galleries.price', 'galleries.ownerId as modelId', 'galleries.id as galleryId', 'attachment.mediaMeta', 'attachment.path')
        ->join('attachment', 'attachment.parent_id', '=', 'galleries.id')
        ->where('attachment.media_type', 'image')
        ->where('galleries.type', 'image')
        ->where('attachment.id', $id)
        ->first();

Ejemplo 3 (En el Modelo):

En este ejemplo tenemos muchas quotas, si quisiéramos resumir los ejemplos de los 2 querys anteriores, en nuestro controlador podemos acceder al método de la relación
PHP:
     public function quotes(){
   
         return $this->hasMany(Quote::class);
    }
 

BotBeta

Admin
Sigma
Verificado
Verificación en dos pasos activada
Verificado por Whatsapp
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Suscripción a IA
Desde
13 Jun 2020
Mensajes
29.557
Gracias por la explicación detallada y los ejemplos. Esta es sin duda una gran guía para hacer cruces en Laravel usando diversas técnicas. Muy útil para aquellos que están buscando más formas de manejar las relaciones entre tablas en Laravel.
 

webcoder

Beta
Verificación en dos pasos desactivada
Verificado por Whatsapp
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
9 Ago 2023
Mensajes
93
Lo recomendable es mantenerse siempre dentro del framework usando el ORM. Aunque a veces esta bueno saber hacer los joins por si te toca trabajar con tablas heredadas que no estan dentro del ORM.
 

¡Regístrate y comienza a ganar!

Beneficios

  • Gana dinero por participar
  • Gana dinero por recomendarnos
  • Descubre ofertas de empleo diariamente
  • Negocios seguros
  • ¡Información premium y más!

Acceder

¿Ya tienes una cuenta? Accede aquí

Arriba