These are chat archives for PHPixie/Hotline

3rd
Sep 2017
Andrey
@akmetainfo
Sep 03 09:42
В документации сказано: 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’. https://phpixie.com/components/orm.html Тем не менее, хочу для старого проекта чтобы названия таблиц брались 'as is', как указываю в запросе. Как это можно сделать? Ну, либо альтернативно, как можно задавать свои собственные имена таблиц? Пример про MongoDb видел, создал файл \assets\config\orm.php но что конкретно туда прописывать -- непонятно
Andrey
@akmetainfo
Sep 03 11:22
Anton Kolenkov
@dorantor
Sep 03 12:38
@akmetainfo
<?php
// bundles/app/assets/config/orm.php
return [
    'models' => [
        'event_view' => [
            'table' => 'views',
            'id'    => 'vid',
        ],
    ],
];
$builder->components()->orm()->query('event_view')->in(432)->findOne();
Should become
SELECT * FROM views WHERE vid=432;
Andrey
@akmetainfo
Sep 03 12:46
@dorantor Спасибо, этот способ работает. Такой же предложили и на so
Anton Kolenkov
@dorantor
Sep 03 12:50
строго говоря, мой ответ чуть полнее :))
докину его туда же
Andrey
@akmetainfo
Sep 03 12:59
добавил перевод на русский и ассоциацию вопросов en <-> ru
Anton Kolenkov
@dorantor
Sep 03 13:04
мне конечно приятно, но можно было оставить тот ответ принятым :) Я свой добавил именно для полноты картины.
Andrey
@akmetainfo
Sep 03 13:07
@dorantor Я потом тоже так решил.
Всё равно спасибо. Глядишь, не только мне пригодится