Foros del Web » Programando para Internet » PHP » Frameworks y PHP orientado a objetos »

[SOLUCIONADO] Dudas para crear una colección a través de otras dos

Estas en el tema de Dudas para crear una colección a través de otras dos en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Tanto Contado como Crédito son dos modelos Levanto en una colección los siguientes datos contados Código: $cta1 = Contado::where('numero_cliente','=',$idCliente)->where('fechamov','>=',$mes1inicio)->where('fechamov','<=',$mes1final)->orderBy('id')->get(); y por otro lado levanto los ...
  #1 (permalink)  
Antiguo 10/11/2020, 07:57
 
Fecha de Ingreso: agosto-2006
Mensajes: 388
Antigüedad: 14 años, 8 meses
Puntos: 0
Dudas para crear una colección a través de otras dos

Tanto Contado como Crédito son dos modelos

Levanto en una colección los siguientes datos contados

Código:
$cta1 = Contado::where('numero_cliente','=',$idCliente)->where('fechamov','>=',$mes1inicio)->where('fechamov','<=',$mes1final)->orderBy('id')->get();
y por otro lado levanto los datos créditos

Código:
$cta2 = Credito::where('numero_cliente','=',$idCliente)->where('fechamov','>=',$mes1inicio)->where('fechamov','<=',$mes1final)->orderBy('id')->get();
No puedo darme cuenta como crear una sola colección para ordenar dentro de esta todos los datos por fecha.

Cualquier dato será bienvenido, gracias
  #2 (permalink)  
Antiguo 10/11/2020, 15:09
 
Fecha de Ingreso: agosto-2006
Mensajes: 388
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: Dudas para crear una colección a través de otras dos

me olvide comentar que el framework es LARAVEL.
Gracias
  #3 (permalink)  
Antiguo 11/11/2020, 13:12
Avatar de ArturoGallegos
Moderador
 
Fecha de Ingreso: febrero-2008
Ubicación: Morelia, México
Mensajes: 6.774
Antigüedad: 13 años, 2 meses
Puntos: 1145
Respuesta: Dudas para crear una colección a través de otras dos

Eso yo lo haría con relaciones en el modelo

https://laravel.com/docs/8.x/eloquen...ps#one-to-many

Por ejemplo en el modelo de Crédito

Código PHP:
Ver original
  1. public function Contado(){
  2.   return $this->hasMany('App\Models\Contado', 'numero_cliente', 'numero_cliente');
  3. }


y al implementarlo seria algo como

Código PHP:
Ver original
  1. $cta2 = Credito::where('numero_cliente','=',$idCliente)->where('fechamov','>=',$mes1inicio)->where('fechamov','<=',$mes1final)->orderBy('id')->with('Contado')->get();

Código PHP:
Ver original
  1. $cta2 = Credito::with('Contado')->where('numero_cliente','=',$idCliente)->where('fechamov','>=',$mes1inicio)->where('fechamov','<=',$mes1final)->orderBy('id')->get();

Revisa la documentación hay ejemplos de como aplica al obtener los datos, alguno debe servirte
  #4 (permalink)  
Antiguo 08/12/2020, 10:59
 
Fecha de Ingreso: agosto-2006
Mensajes: 388
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: Dudas para crear una colección a través de otras dos

Excelente, perfecto.

Aplique función de relaciones entre los modelos y quedo.

Muchas gracias.



La zona horaria es GMT -6. Ahora son las 14:10.