No entiendo muy bien lo que comentas natanaelius.
Cualquier aplicación medianamente complicada va a tener un montón de tablas relacionadas y va a ser necesario consultar información de varias de ellas de forma relacionada. Que yo sepa el paginator sólo actúa sobre el dataset del modelo y si este modelo sólo representa una tabla no nos serviría, el recursive = -1 nos trae TODA la información relacionada, pero si quieres filtrar y acotar los campos a devolver, vas a tener que definir el array que filtra, acota campos y al final va ha ser más complicado y menos legible que hacer un query mediante sql. Todas las funciones find, findlist y demás están pensadas para aficionados que no controlan el SQL y me parece muy bien, pero para los que llevamos mucho tiempo en esto, utilizar el sql directamente es lo más cómodo y flexible. Con respecto a seguir la norma de un modelo una tabla para seguir las convenciones, me hace gracia, puedes tener un modelo que representa un artículo y en la vista de ese modelo querer presentar información de coste de producción, histórico de ventas, etc y toda esa información no está en la tabla del artículo. Así que lo que comentáis está muy bien para el tutorial del post pero no para la vida real. Con esto no quiero crear polémica, lo único que quiero decir es que efectivamente hay varias formas de hacerlo y que cada cual lo haga como más sencillo le resulte.
Saludos.
Pau.



On 06/06/2012 18:24, natanaelius wrote:
El ideal es tener un modelo por tabla y usar, en el controlador, la
variable $uses o
bien la función App::uses('MyModel', 'Model');
De esta forma puedes usar toda la potencia de la paginación y de la
función find.

On 6 jun, 10:29, william insignares<[email protected]>
wrote:
Eso es verdad Señor Pau ( Efectivamente, la sql puede ser la que tu quieras
sobre las tablas que necesites, no tiene que porque estar relacionada con
el modelo que llama a query. ); pero para seguir la lógica lo mas correcto
es hacer la sql según el modelo que se necesita, bueno eso es en cuanto las
buenas practicas de programación

El 6 de junio de 2012 04:56, Pau Dominguez<[email protected]>  escribió:







Efectivamente, la sql puede ser la que tu quieras sobre las tablas que
necesites, no tiene que porque estar relacionada con el modelo que llama a
query.
El único problema que tendrás es que el paginator no puedes aplicarlo al
array que te devuelve y si es muy largo no quedará bien en la vista.
La solución es crear un paginator personalizado o lo más sencillo es crear
una vista de sql con la consulta que quieras paginar y crear un modelo
sobre esa vista, entonces ya puedes paginar con el paginator sin problemas.
On 06/06/2012 11:41, Ogalav wrote:
vale vale.., no lo habia captado es el modelo que esta en ejecución,
más sin embargo en el query hago la consulta hacia las tablas que
necesite.
ya me dio el array en el debug().
muchas gracias Pau.
saludos
On 6 jun, 11:16, Ogalav<[email protected]>    wrote:
hola Pau, pues realice lo indicado y el interprete me arroja lo
siguiente
Call to a member function query() on a non-object
el codigo
         public function report() {
                 $report = $this->Tiporeport->find('list'**);
         $this->set(compact('report'));
                 $lista_detail = $this->TiporeportDetail->**query("select
* from
tiporeport_details");
                 $this->set ('lista_detail', $lista_detail);
         }
en el modelo esta:
class TiporeportDetail extends AppModel {
/**
  * Display field
  *
  * @var string
  */
         public $displayField = 'descripcion';
}
probe con colocar el mismo modelo del controller en cuestion donde se
ejecuta este funcion y reconoce el query, pero le cambio al modelo
TiporeportDetail .. no lo acepta
On 6 jun, 10:37, Pau Dominguez<pdomingu...@gmail.**com<[email protected]>>
  wrote:
  En cualquier controller
$lista = $this->Modelo->query(Sql);
$this->set('Lista',$lista);
En la vista accedes a $Lista y lo recorres con un foreach, para ver c mo
est organizado el array que devuelve el query haz un printr($lista);
as veras los nombres de las tablas y los ndices que debes utilizar
para acceder a cada campo devuelto por query.
Saludos.
Pau.
On 05/06/2012 20:43, Ogalav wrote:
hola a todos.
mi consulta es la siguiente
tengo dos tablas que quiero vaciar en una vista,
listado de intervalos de consulta de reporte (tabla1)
listado de tipo de reporte (tabla2)
la pregunta es sabiendo que no utiliza CRUD para estas tablas.. es
necesario crear los controller y modelos y vistas de estas tablas ??
si desde mi vista report/index
quiero vaciar estas tablas que usaria?
he visto que puedo usar query() en 1.3 pero trabajo con la 2.0..
este query() lo utilizo en donde?
que me recomendan..
gracias
Omar Galaviz
--
Has recibido este mensaje porque estás suscrito al grupo "CakePHP-es" de
Grupos de Google.
Para publicar una entrada en este grupo, envía un correo electrónico a
[email protected].
Para anular tu suscripción a este grupo, envía un correo electrónico a
cakephp-es+unsubscribe@**googlegroups.com<cakephp-es%2Bunsubscribe@googlegr 
oups.com>
Para tener acceso a más opciones, visita el grupo en
http://groups.google.com/**group/cakephp-es?hl=es<http://groups.google.com/group/cakephp-es?hl=es>
.

--
Has recibido este mensaje porque estás suscrito al grupo "CakePHP-es" de Grupos 
de Google.
Para publicar una entrada en este grupo, envía un correo electrónico a 
[email protected].
Para anular tu suscripción a este grupo, envía un correo electrónico a 
[email protected]
Para tener acceso a más opciones, visita el grupo en 
http://groups.google.com/group/cakephp-es?hl=es.

Responder a