Difference between #1 and #2 of
Instanciar clase hija basada en campo de modelo padre (CActiveRecord)

Changes

Title unchanged

Instanciar clase hija basada en campo de modelo padre (CActiveRecord)

Category unchanged

How-tos

Yii version unchanged

Tags unchanged

active record, CActiveRecord, factory, instanciar clases hijas

Content changed

[...]
{
if (!isset($attributes['tipo_id'])) { // Cuando se crea and $tipo_id no se ha definido
return parent::instantiate($attributes);
}
$classRecord = AnimalType::model()->findByPk($attributes['tipo_id']); // Cargar el "Tipo"
if($class
Record === null)
throw new CException('Tipo de Animal no encontrado');
$className = $classRecord->nombre; // Asumiendo que el campo "nombre" almacena el nombre de la clase hija
$model = new $className(null); // El parámetro NULL es obligatorio
return $model;
}
[...]
2 0
1 follower
Viewed: 19 263 times
Version: 1.1
Category: How-tos
Written by: robregonm
Last updated by: robregonm
Created on: Oct 29, 2012
Last updated: 12 years ago
Update Article

Revisions

View all history