Внимание! Этот вопрос является переводом вопроса: How can I specify the database table name for a model in PHPixie?
Получаю следующую ошибку
SQLSTATE[42S02]: Base table or view not found: 1146 Table 'phpixie.persons' doesn't exist
когда делаю запрос к таблице 'people':
public function getPerson($person_id)
{
return $this->components()->orm()->query('person')
->where('id', $person_id)
->findOne();
}
Из документации:
By default ORM assumes that the table name is the plural of the name of the model, and that the name of the primary key is ‘id’.
Можно ли как-то переопределить имя таблицы на собственное?
PS Или задать список исключений как в EnglishPluralizationService:
{"child", "children"} {"corpus","corpora"} {"person", "people"}
В зависимости от версии PHPixie есть следующие способы:
2.xВ предположении что у вас уже есть модель Person model вы можете просто указать имя таблицы в поле $table:
class Person extends \PHPixie\ORM\Model
{
public $table = 'person';
}
См. в документации:
3.xВы можете переопределить значение по умолчанию в конфигурационном файле:
<?php
// bundles/app/assets/config/orm.php
return array(
'models' => array(
'person' => array(
'table'=> 'persons',
),
);
);
См. в документации:
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости