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
Page 1 of 1
Consultas Relacionadas
#2
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:
Saludos
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
Cloud Hosting SSD de Nivel-1
YiiFramework en Español - http://yiiframework.co/ - http://yiiframeworkenespanol.org/ - Yii Code Generator for Bootstrap
http://obregon.co/ - https://1server.co/
PHP 5.4+, nginx 1.2, MySQL(MariaDB & PerconaDB), PostgreSQL 9, Yii 1.x-dev.
Follow me: @robregonm & @obregonco & @1ServerCo.
Cloud Hosting SSD de Nivel-1
YiiFramework en Español - http://yiiframework.co/ - http://yiiframeworkenespanol.org/ - Yii Code Generator for Bootstrap
http://obregon.co/ - https://1server.co/
PHP 5.4+, nginx 1.2, MySQL(MariaDB & PerconaDB), PostgreSQL 9, Yii 1.x-dev.
Follow me: @robregonm & @obregonco & @1ServerCo.
Share this topic:
Page 1 of 1

Help














