Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 18.05.2013 09:10:56

Eloquent. Передать имя таблицы в модель

Привет, я совсем новичек в orm.
У меня таблицы создаются динамически. Можно ли в модель передать имя таблицы для дальнейшего использования с Eloquent.

Не в сети

#2 18.05.2013 10:49:48

Re: Eloquent. Передать имя таблицы в модель

Нет, Eloquent полностью зависит от статической переменной класса модели. Вариантов несколько:

  1. Менять её на нужное имя перед каждым запросом; будут проблемы при вложенных запросах
  2. Корректировать имя таблицы в SQL перед его выполнением — так как это будет делать твой код, то ты можешь использовать любое поле, например, добавив к классу модели instance-свойство $sqlTable
  3. Создавать объекты динамически (вроде анонимных методов), но это по-моему крайний случай

Не в сети

#3 18.05.2013 12:41:25

Re: Eloquent. Передать имя таблицы в модель

Хотел уточнить laravel 3. Первые варианты волне подходят, всего то нужно вывести таблицы с пагинацией. Можно какие-нибудь примеры, здесь видимо необходимо позднее статическое связывание, но в паре строк для направления было бы очень удобно. Спасибо.

Не в сети

#4 18.05.2013 20:46:49

Re: Eloquent. Передать имя таблицы в модель

PHP
class MyModel extends Eloquent { ... }

MyModel::$table 'new_table_name';
MyModel::find(1);   // SELECT * FROM new_table_name WHERE id = 1

Не в сети

#5 18.05.2013 23:54:33

Re: Eloquent. Передать имя таблицы в модель

Оно самое. Спасибо.

Не в сети

Подвал раздела