Incluir relaciones de los recursos
Comprar curso

13. Incluir relaciones de los recursos


3 comentarios

Inicia sesión para comentar

Comentarios:

  • Jhonatan Aldana Rodriguez

    Jhonatan Aldana Rodriguez hace 4 horas

    pregunta como puedo agrupar los resultados de las relaciones, cuando usoi la api este es el resultado JSON  "4": [
       {
         "id": 14,
         "nom_producto": "a",
         "pre_producto": 32548,
         "cantidad": 70117,
         "subtotal": 66181,
         "created_at": "2024-05-18T01:02:25.000000Z",
         "updated_at": "2024-05-18T01:02:25.000000Z",
         "venta_id": 4,
         "venta": {
           "id": 4,
           "metodo_pago": "MasterCard",
           "estado": 0,
           "total": 76805,
           "created_at": "2024-05-18T01:02:24.000000Z",
           "updated_at": "2024-05-18T01:02:24.000000Z",
           "user_doc": 843726074,
           "user": {
             "doc": 843726074,
             "name": "Dr. Hudson Casper",
             "tipo_doc": "CC",
             "tel": "268957220",
             "fecha_naci": "1999-07-10",
             "genero": "femenino",
             "direccion": "6125 Tevin Ferry",
             "email": "maxine.nikolaus@example.net",
             "email_verified_at": "2024-05-18T01:00:24.000000Z",
             "created_at": "2024-05-18T01:00:25.000000Z",
             "updated_at": "2024-05-18T01:00:25.000000Z",
             "rol_id": 1
           }
         }
       },
       {
         "id": 25,
         "nom_producto": "quae",
         "pre_producto": 40031,
         "cantidad": 38925,
         "subtotal": 99685,
         "created_at": "2024-05-18T01:02:26.000000Z",
         "updated_at": "2024-05-18T01:02:26.000000Z",
         "venta_id": 4,
         "venta": {
           "id": 4,
           "metodo_pago": "MasterCard",
           "estado": 0,
           "total": 76805,
           "created_at": "2024-05-18T01:02:24.000000Z",
           "updated_at": "2024-05-18T01:02:24.000000Z",
           "user_doc": 843726074,
           "user": {
             "doc": 843726074,
             "name": "Dr. Hudson Casper",
             "tipo_doc": "CC",
             "tel": "268957220",
             "fecha_naci": "1999-07-10",
             "genero": "femenino",
             "direccion": "6125 Tevin Ferry",
             "email": "maxine.nikolaus@example.net",
             "email_verified_at": "2024-05-18T01:00:24.000000Z",
             "created_at": "2024-05-18T01:00:25.000000Z",
             "updated_at": "2024-05-18T01:00:25.000000Z",
             "rol_id": 1
           }
         }
       }TIENEN LO MISMO DATSO DE USUARIO Y VENTA

  • Jheyner David Ibagon

    Jheyner David Ibagon hace 1 año

    Hola, tambien logre resolverlo con la funcion de collect y creando un nuevo array con la funcion filter de php quedando de la siguiente manera…

  • Alejandro Echavarria

    Alejandro Echavarria hace 1 año

    Saludos,

     

    Una sugerencia para reducir y facilitar la lectura del código sería negar la condicional que se realiza:

     

    if (!empty([$this->allowIncuded, request('included')])) {
    	// ...
    }

     

    Quedando el código así:

     

    if (!empty([$this->allowIncuded,request('included')])) {
    
    	$relations = explode(',', request('included')); // [posts, relation2]
        $allowIncuded = collect($this->allowIncuded);
    
    
    	foreach ($relations as $key => $relationship) {
        	if (!$allowIncuded->contains($relationship)) {
    
        		unset($relations[$key]);
         	}
         }
    
    	$query->with($relations);
    }