Obtendo o nome do modelo da instância do modelo yii
Pergunta
Como posso obter o nome do modelo na instância do modelo. Para ex
$ modelo = novo estado;
Aqui, o estado é o modelo $ modelo é a instância do modelo de estado.
Quero obter o nome do modelo, IE State da instância do modelo IE Model IE.
Solução
get_class () - retorna o nome da classe de um objeto
string get_class ([objeto $ objeto])
Portanto, você usa assim: $ modelName = get_class ($ modelInstance);
-> ele retorna uma string.
Outras dicas
Adicione este método à sua classe de estado
public function getModelName()
{
return __CLASS__;
}
e chame assim:
$model = new State();
echo $model->getModelName();
Use este método PHP: 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
}
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow