Simple crud sin Widgets.

Hola compañeros,despues de mucho tiempo vuelvo a las andanzas. Ahora cion algo que quizas sea mas simple, pero por mas que busco no encuentro nada.

Puedo hacer y usar un Crud basico mediante el sisma ghenerador que trae yii(gii) genial. Pero yo quiero saber como hacerlo sin que mi sistema tenga que usar los widgets(no se si realmente se llamaran asi) para mostrar los datos:

EJM: Para que me entiendan les pongo un trozo de codigo:

Model:

class Post extends CActiveRecord

{

  /**


 * Returns the static model of the specified AR class.


 * @return Post the static model class


 */


public static function model($className=__CLASS__)


{


    return parent::model($className);


}





/**


 * @return string the associated database table name


 */


public function tableName()


{


    return 'Post';


}

}

Controller:

$data = new Post();

$data = $post->findAll();

Aca quiero que me muestre todas las columas de la tabla post

Diganme donde puedo buscar info de como hacer un CRUD a la vieja usanza. :D

Estaba leyendo sobre Active Record y no me aclaro nada mis dudas. :(

Saludos

Puedes hacerlo como lo siguiente :




$data =Post::model()->findAll();

echo "<table>"

foreach($data as $row){

   	echo "<tr>".

"<td>{$row->data1}</td>".

"<td>{$row->data2}</td>".

"</tr>";

}

echo "</table>";



Juro por las barbas de mi abuelo que lo hice asi y no me funciono =.=’ Ya me estaba volviendo loco! Gracias.

Buenos días,

otro novato por aqui, reabro este topic para no hacer otro nuevo :]

Tengoun problema similar, les cuento.

tengo un modelo, projects, y otro feed_entries.

lo que quiero hacer es en el listado, mostrar todas las entradas del modelo projects y solo la última entrada relacionada con ese modelo de feed_entries.

el generador del CRUD me lo hace todo, bien, con los widgets y toda la parafernalia, y yo he añadido las relaciones.

projects -> has_many feed_entries

feed_entries -> belongs_to projects

Ahora bien, he cambiado la funcion index del projects para solo obtener los resultados -findAll()- como hago para que este mismo, solo me consulte la última entrada del feed_entries??? y no me meta todo el array de los resultados??

Muchas gracias!!!

Saludos.

Hola,

me imagino que quieres hacer una consulta normal y agregar la relación y poner una condición.

http://www.yiiframework.com/doc/api/1.1/CActiveRecord#find-detail

http://www.yiiframework.com/doc/api/1.1/CDbCriteria

Suponiendo la relación en el modelo Projects hacia FeedEntries:




'feed_entries' => array(self::BELONGS_TO, 'FeedEntries', 'id_project'),



En el controlador en el action haces la consulta (suponiendo que le llega el $id_project, desde el POST o el GET):




// connect to the database

$criteria = new CDbCriteria;

$criteria->condition = "t.id_project=".(int)$id_project;

$criteria->condition. = " AND feed_entries.id_feed =

            (

            SELECT MAX(feed_entries.id_feed)

            FROM feed_entries

            WHERE feed_entries.id_project=t.id_project

            )";


$project=Projects::model()->with('feed_entries')->find($criteria);




Yo lo haría así. Seguro que se puede realizar de otra manera…