Yii Framework Forum: Consultas Relacionadas - Yii Framework Forum

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Consultas Relacionadas Rate Topic: -----

#1 User is offline   MagnusSolution 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 16
  • Joined: 13-August 12

Posted 08 November 2012 - 08:26 AM

hola, estoy haciendo un sistema con extjs4 y yii.

es mi 1º projecto en yii.

bueno, trabajo con tablas bastantes grades, con muchos datos y muchos datos relacionados.

La velocidad en mi tipo de sistema es fundamental

Activando el trace de los logs de yii, veo que para abrir un simples grud con 3 campos relacionados, el yii hace la consulta de todos las relaciones de todos los datos, incluso de relaciones de las tableas relacionadas.

ej: grud de la tabla pkg_user

tabla pkg_user esta relacionada con: pkg_tariff, pkg_agents y pkg_grupos

tabla pkg_gentes esta relaciona tambien con pkg_tariff y con pkg_grupos

tabla pkg_grupos esta relacionada con pkg_modulos

tabla pkg_modulos con pkg_sub_modulos


El tema es que yii hace todas estas consultas secundarias, que a mi entender no es preciso.

En este grud user, llega hacer mas de 20 consultas sql.

Hay como no hacer las consultas secundarias?

Saludos
0

#2 User is offline   robregonm 

  • Expert Yii Developer
  • PipPipPip
  • Yii
  • Group: Members
  • Posts: 595
  • Joined: 30-July 09
  • Location:Colombia

Posted 08 November 2012 - 11:32 AM

Hola Magnus,
Yii no hace consultas de tablas relacionadas a menos q sea necesario.
Si yo solicito en un modelo un dato de una tabla foránea, Yii tendrá que hacer la consulta para traer esos datos... de todas formas hay maneras para simplificar el número de consultas :)
una es usando los parámetros "with" y "together"... con with se incluyen las relaciones deseadas... y con together hace q se traigan en una sola consulta...
Podría ser algo como:

$v = MiTabla::model()->with('nombreRelacion')->together()->findAll();



Saludos
Ricardo Obregón

YiiFramework en Español - http://yiiframework.co/ - http://yiiframeworkenespanol.org/ - Yii Code Generator for Bootstrap
http://obregon.co/ - https://1server.co/
PHP 5.5+, nginx 1.7, MySQL(MariaDB & PerconaDB), PostgreSQL 9, Yii 2, CanJS
Follow me: @robregonm & @obregonco & @1ServerCo.
0

#3 User is offline   MagnusSolution 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 16
  • Joined: 13-August 12

Posted 08 November 2012 - 02:11 PM

realmente mejora la velocidad, muchas gracias
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users