2017-01-01 2 views
0

Я просто получаю php active record или eloquen от laravel работает на codeigniter. первая попытка создать модель это работать хорошо, но после того, что я получил эту ошибку:eloquen и php active record can not find table, потому что дополнительный суффикс таблицы '

Type: Illuminate\Database\QueryException

Message: SQLSTATE[42S02]: Base table or view not found: 1146 Table dog.ids' doesn't exist (SQL: select * from ids)

поэтому для получить его работы мне нужно изменить каждую таблицу в базе данных с добавлением суффикса «s», но сохранить название модели без суффикса ' s'.

, например:
для модели идентификатора

class id extends ActiveRecords/Model{ 
} 

потребности табе идентификаторов.
так, как сохранить таблицу с тем же именем с моделью?
Я не понимаю, что на самом деле произошло. обе библиотеки используют pdo для связывания данных.


ps: извините за мой очень плохой английский

ответ

1

В phpactiverecord есть определенные соглашения, как и вся множественная вещь, на которую вы ссылаетесь. К счастью, вы можете переопределить их. Таким образом, вам не нужно менять свою базу данных.

class id extends ActiveRecords/Model{ 
    static $table_name = 'id'; 
} 

см: http://www.phpactiverecord.org/projects/3/wiki/Conventions

+0

и стол красноречив в 'защищенный $ таблица = 'ид'; '. выглядит уродливо. но что мне делать ...? это единственное решение. Я еще не принял, но +1 для решения. спасибо ... – areiilla

+0

Я не совсем уверен, что вы должны делать. Для phpactiverecord я бы советовал попытаться соблюдать их соглашения. Назовите свои таблицы, поля и т. Д., Чтобы понять это phpactiverecord. Кроме того, сохраняйте все строчные буквы и т. Д. И т. Д. Я не вижу, насколько много проблем будет для вас. – Nanne

+0

Обычная конфигурация – areiilla