Получение названия модели из экземпляра модели YII - PullRequest
9 голосов
/ 13 мая 2010

Как я могу получить название модели из экземпляра модели. Для e.x.

$ модель = новое состояние;

здесь, Государство это модель $ model это экземпляр State State.

Я хочу получить название модели, т.е. состояние из $ model, т.е. экземпляр модели.

Ответы [ 4 ]

14 голосов
/ 13 мая 2010

добавить этот метод в свой государственный класс

public function getModelName()
{
    return __CLASS__;
}

и назовите это так:

$model = new State();
echo $model->getModelName();
11 голосов
/ 16 августа 2010

get_class () - возвращает имя класса объекта

строка get_class ([объект $ объект])

поэтому вы используете его так: $ modelname = get_class ($ modelinstance);

-> возвращает строку.

1 голос
/ 19 ноября 2013

Используйте этот метод PHP: get_class

 print get_class($object);
0 голосов
/ 27 мая 2014
<?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 
}   
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...