Nuevo campo después de crear un CRUD

[size="4"]Hola a todos,

Si alguien me puede apoyar, se lo agradeceré mucho, estoy buscando la forma como agregar un nuevo campo después de haber creado un modelo y un CRUD de ese modelo, la cuestión es que se me olvido poner dicho campo al momento de generar el CRUD y ahora me hace falta.

Intente agregando de manera manual, en referencia a los demás campos y no funciona, cuando se manda el formulario, todos se almacenan en la BD, pero el que puse de forma manual, NO.

Ante todo, muchas gracias por su valioso aporte.

Saludos.

[/size]

Si ya agregaste el campo a la bd, en yii lo puedes utilizar como una propiedad de tu modelo, solo que es necesario escribas una regla para el campo extra y listo.

Como indica Jack, dependiendo del tipo de campo puedes agregarlo a alguna regla de validación ya existente, como en el siguiente ejemplo:




public function rules () {

	array('id, campo_nuevo', 'required'),

	(...)

}

Otra alternativa, si no quieres declarar ninguna regla de validación en particular, es declarar el campo como ‘safe’, de esa forma Yii sabe que deseas asignarle a ese campo el valor enviado por el formulario, como indico a continuación:




public function rules () {

	(...)

	array('campo_nuevo', 'safe'),

	(...)

}

Saludos.

Gracias Jack, mauricio, utilice la segunda opción agregando la regla por separado en el modelo y asunto resuelto, ya puedo guardar el dato en la BD, muchas gracias por su orientación.

Solo había agregado el nuevo campo en el arreglo que me genero el framework, pero no funcionaba




public function rules(){

        (...)

        array('id, rooms, adults, childrens, checkin, checkout, comments, user_id, status', 'safe', 'on'=>'search'),

}



Asi quedo todo OK




public function rules(){

        (...)

        array('id, rooms, adults, childrens, checkin, checkout, comments, user_id', 'safe', 'on'=>'search'),

        array('status', 'safe'),

}



Saludos.

Solo para aclarar por qué no te funcionaba. Si te fijas, al final de la linea dice ‘on’ => ‘search’. Eso significa que esa regla se aplica sólo cuando se hace uso del método search() definido en la misma clase.

Ahora, eso es lo que se denomina uso de escenarios. Si te despierta la curiosidad por saber qué son los escenarios, puedes leer el siguiente artículo:

http://www.yiiframework.com/wiki/266/understanding-scenarios/

Nuevamente gracias Mauricio, el on search si me decía algo, pero no tenia conocimiento del manejo de escenarios, voy a leer la documentación sobre ello.

Saludos.