Getting model name from model instance YII
Question
How can i get model name from model instance. For e.x.
$model=new State;
here, State is model $model is State model instance.
I want to get model name i.e State from $model i.e model instance.
Solution
get_class() — Returns the name of the class of an object
string get_class ([ object $object ] )
therefore you use it like this: $modelname=get_class($modelinstance);
->it returns a string.
OTHER TIPS
add this method to your State Class
public function getModelName()
{
return __CLASS__;
}
and call it like this:
$model = new State();
echo $model->getModelName();
Use this PHP method : get_class
print get_class($object);
<?php
class Item extends CActiveRecord
{
public function getBaseModelName()
{
return __CLASS__;
}
public function getCalledClassName()
{
return get_called_class();
}
}
class Product extends Item {}
class Service extends Item {}
class ProductController extends CController
{
$model = new Product;
echo $model->baseModelName; // Item
}
class ServiceController extends CController
{
$model = new Service;
echo $model->calledClassName; // Service
echo get_class($model); // Service
}
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow