native $model->tableName()? ActiveRecord

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

native $model->tableName()? ActiveRecord

Сообщение lgXenos »

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

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

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

$magicArr = [
	\common\models\Article::tableName() => [
		'....' => function(){.....}
	]
]
Аватара пользователя
ElisDN
Сообщения: 5845
Зарегистрирован: 2012.10.07, 10:24
Контактная информация:

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

Сообщение ElisDN »

$model::tableName()
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

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

Сообщение zelenin »

шел третий год на форуме...
lgXenos
Сообщения: 243
Зарегистрирован: 2015.11.30, 15:42

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

Сообщение lgXenos »

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