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.

Was it helpful?

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
scroll top