native $model->tableName()? ActiveRecord

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Закрыто
lgXenos
Сообщения: 232
Зарегистрирован: 2015.11.30, 15:42

native $model->tableName()? ActiveRecord

Сообщение lgXenos » 2018.01.17, 18:18

Доброго
Я увидел, что встроенной возможности нет. И что если дописать некий метод в мою модель, который вернет static::tableName(), то задача решается
Но... это единственный выход?
И с чем связано такое ограничение, что имя таблицы можно спросить только у класса. А у записи, из какой она таблицы, спросить нельзя?
С тем, что запись ничего не должна знать о таблице и это другой уровень абстракции?

Просто я сделал некий конфиг-правило обработки полей у таблиц. И выходит, что имея запись - я не знаю, какое правило использовать.

Код: Выделить всё

$magicArr = [
	\common\models\Article::tableName() => [
		'....' => function(){.....}
	]
]

Аватара пользователя
ElisDN
Сообщения: 4837
Зарегистрирован: 2012.10.07, 10:24
Контактная информация:

Re: native $model->tableName()? ActiveRecord

Сообщение ElisDN » 2018.01.17, 18:49

$model::tableName()

zelenin
Сообщения: 10348
Зарегистрирован: 2013.04.20, 11:30

Re: native $model->tableName()? ActiveRecord

Сообщение zelenin » 2018.01.17, 19:24

шел третий год на форуме...

lgXenos
Сообщения: 232
Зарегистрирован: 2015.11.30, 15:42

Re: native $model->tableName()? ActiveRecord

Сообщение lgXenos » 2018.01.17, 19:52

zelenin писал(а):
2018.01.17, 19:24
шел третий год на форуме...
Саш, все иногда перерабатывают и тупят
ElisDN писал(а):
2018.01.17, 18:49
$model::tableName()
Спасибо, Дим, за быстрый ответ
Стыдно, что про такой вариант подумал лишь когда в метро сел

Закрыто