Как задать имя таблицы для модели в PHPixie?

286
05 сентября 2017, 11:44

Внимание! Этот вопрос является переводом вопроса: 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"}

Answer 1

В зависимости от версии PHPixie есть следующие способы:

2.x

В предположении что у вас уже есть модель Person model вы можете просто указать имя таблицы в поле $table:

class Person extends \PHPixie\ORM\Model
{
     public $table = 'person';
}

См. в документации:

  • https://phpixie.com/2.x/orm.html

3.x

Вы можете переопределить значение по умолчанию в конфигурационном файле:

<?php
// bundles/app/assets/config/orm.php
return array(
    'models' => array(
        'person' => array(
            'table'=> 'persons',
        ),
    );
);

См. в документации:

  • https://phpixie.com/components/orm.html#configuration
READ ALSO
PHP отправка сообщений в jabber

PHP отправка сообщений в jabber

Есть скрипт входа на сайт, но до меня не доходит, как сделать отправку сообщения с кодом в jabber?Попробовал использовать библиотеку XMPP но чет...

425
Почему не создаётся статья? (yii2 -advanced)

Почему не создаётся статья? (yii2 -advanced)

Imagik вроде бы установлен уже в папке vendor в проекте, в настройках Open Server PHP-70, Apache-7 MySQL-5

256
Авторизация по e-mail [требует правки]

Авторизация по e-mail [требует правки]

Помогите пожалуйста переделать данный код чтобы принимал email и логин

198
Как с вайбера отправить на сайт сообщение и обработать на PHP

Как с вайбера отправить на сайт сообщение и обработать на PHP

Скажите как с вайбера отправить на определенный номер фото и текст к фото Кака Использовать API вайбера чтобы фото сохранить на диске сайта,...

381