entiendo lo antiguo que es este post, pero me encuentro en un
proyecto, y que llegue al punto de lo que indica Pau,
tengo el query, en el cual quiero enviar el paginador. entonces ahy
alternativa?.
luego de tener el array de la consulta por el query enviarlo a que
pagine
$listcat = $this->Main->query('SELECT * FROM '. $sel_table);
como podria enviarle por el set a q pagine?
$this->##->recursive = 0;
$this->set('##', $this->paginate()); //sabiendo que esto no
sigue la
logico del modelo
a ver si me puede hechar un mano
agradecidos
saludos
On 7 jun, 05:13, Pau Dominguez <[email protected]> wrote:
> 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.