2015-10-14 7 views
3

Я знаю, что это not possible to use a reserved word in PHP as class name, но мое Laravel приложение позволяет управлять курсов и классов, поэтому у меня есть таблица базы данных называется classes, а ClassController и многообещающе Class модели. Тем не менее, в Laravel, моя модель должна быть названа Class, не допускается в PHP:Laravel - название модели, используя зарезервированное слово

class Class extends Model {} 

Используя синоним, ближайший быть Lecture, до сих пор не кажется правильным.

Возможно ли обходное решение Laravel?

+4

'в Laravel, моя модель должна быть названа Class', вы можете назвать модель как хотите, назовите ее ClassModel? – samrap

ответ

4

Laravel не заставляет вас использовать определенные имена для своих моделей или контроллеров. Это просто конвенция. Вы можете назвать свою модель так, как хотите. единственное, что вам нужно будет сделать, это объявить protected $table = 'classes' в вашей модели

+0

Супер круто это очень помогло мне. Это единственный пустяк, объявляющий 'protected $ table' в модели? Когда мы хотим использовать зарезервированное слово? Вы знаете, где я могу найти список зарезервированных слов для laravel? По-видимому, «Сущность» была одной. – Noitidart

+1

@Noitidart Цель объявить 'protected $ table' означает переопределить соглашение об именах, которое следует за Laravel. Laravel предположит, что ваше имя таблицы является плюрализированной версией вашего имени модели, то есть у вас может быть модель под названием «Видео», тогда она будет искать таблицы «видео». но если вы хотите назвать свою модель «VideoModel», она будет искать таблицу «video_models». это то, где вы определяете - нет, это все еще только 'protected $ table = 'videos';' –

+0

Я уверен, что у вас может быть модель с именем Entity' tho. единственными ограничениями являются зарезервированные слова PHP http://php.net/manual/en/reserved.php –

Смежные вопросы