Fantastico el ejemplo, aca viene el pregunton que creo que me aclara todo... Cual es la diferencia entre poner esas dos funciones en el modelo y no el controlador? O sea, en que me beneficia? Saludos.
On 25 oct, 03:54, Fran Iglesias <[EMAIL PROTECTED]> wrote: > El 25/10/2007, a las 5:22, mbavio escribió: > > > Perdon por mi extrema idiotez, pero sigo sin cazarla del todo... > > Entiendo el concepto, pero no entiendo como aplicarlo... Me podrias > > dar un ejemplo tonto pero entendible para que me termine de cerrar? > > Perdon, pero creo que es lo mas dificil, esto de aprender a pensar > > distinto... > > Yo tampoco lo veo del todo claro, pero lo que hago para darle "peso" > al modelo es más o menos así: > > Supongamos el típico ejemplo de Blog (con sus Post y demás). > > Ahora supongamos que en el modelo tengo un campo "publicar" que me > indica si un Post está publicado (1) o en borrador (2). Y, por otro > lado, quiero poder controlar eso a través de un botón de la interfaz > que apunte a /posts/publicar/id o /post/borrador/id. > > Bueno, pues lo que haría sería crear métodos en el modelo que, tal > que así (simplificando mucho y a lo mejor ni siquiera es esta la > mejor manera): > > class Post extends AppModel { > ... código ... > > function publicar ($id) { > $this->id = $id; > $this->saveField('publicar', 1); > } > > function borrador ($id) { > $this->id = $id; > $this->saveField('publicar', 0); > } > > } > > Por su parte, en el controlador tendría que poner una acción o > acciones que se encargaran de responder a la petición del usuario: > > class PostsController extends AppController { > ... código ... > > function publicar ($id) { > $this->Post->publicar($id); > } > > function borrador ($id) { > $this->Post->borrador($id); > } > > } > > Bueno, más o menos así. La idea es que el controlador "no sepa" nada > acerca de cómo funciona el modelo. Simplemente se limita a recibir lo > que el usuario le indica (ejecutar una acción) y la acción llama a > métodos del modelo que realizan lo necesario con los datos para esa > acción y luego pedir que se muestre la vista que sea adecuada (por > ejemplo, un mensaje informando de que sea ha cambiado el estado de > ese Post o actualizando un listado). > > El ejemplo es muy simple, pero quizá ilustre la idea. > -- > Fran Iglesias > [EMAIL PROTECTED] --~--~---------~--~----~------------~-------~--~----~ Has recibido este mensaje porque estás suscrito a Grupo "CakePHP-es" de Grupos de Google. Si quieres publicar en este grupo, envía un mensaje de correo electrónico a CakePHP-es@googlegroups.com Para anular la suscripción a este grupo, envía un mensaje a [EMAIL PROTECTED] Para obtener más opciones, visita este grupo en http://groups.google.com/group/CakePHP-es?hl=es. -~----------~----~----~----~------~----~------~--~---