Работа С Несколькими Таблицами В Одной Модели?

Привет!

Подскажите, как рабоать с несколькими таблицами?

Как я понял, нужно для каждой таблицы создавать модель. Но, а что если у меня будет 100 таблиц, им всем надо создавать модели?

И чтобы их все мне надо соединить, мне нужно в каждой модели прописывать соединение с другой моделью?

Нет ли способа попроще, работать с таблицами, не создавая моделей для каждой, а только для одной?

Извиняюсь за столь глупый вопрос.

Модель для таблицы можно создать с помощью генератора Gii. По желанию можно указать ему в качестве имени звездочку "*" и он сгенерирует модель для каждой таблицы в базе.

Если между таблицами есть FK ключи, то Gii в соответствии с ними проставит relations между моделями. Если же нет, то вручную их поставить будет не сложно.

Или можно работать с БД при помощи конструктора запросов, зависит от целей, но сложно предствить ситуацию когда к данным легче обратиться минуя модель.

Модели можете создать только для нужных таблиц, для всего остального можетете делать прямые запросы в базу, так званое DAO

Всем доброго времени суток!

У меня похожая проблема.

Нужно одновременно (на одной странице) произвести запрос в несколько таблиц.

Описание задачи: Имеется форма поиска, в которой несколько DropDown-полей. Эти DropDown-поля, при генерации страницы, должны заполняться из таблиц-справочников.

Пробовал Gii написать в имя модели *, но он отказался генерировать.

Имеется ли способ сделать так, чтоб можно было просто контроллере страницы создать для каждой необходимой модели объект класса и работать с ним как обычно?

Вы же можете редактировать свои контроллеры, значит можно так сделать!

Или что вам надо?

Мне в одном контроллере надо вызвать несколько моделей

Мне кажется, что тут есть вопрос, но я его не вижу.

В yii можно просто сделать запросы без создания моделей для DropDown нужен массив данных!

Gii не может сделать сразу для всех таблиц модели то есть придётся по одной генерировать!

но если это таблицы однотипные(отличаются только названием таблицы) возможно нужно подумать об универсальной моделе для такого рода задачь! либо объединить все справочники в одну таблицу сделав поле по которому различаются справочники!

Ну так и вызывайте. Создаете обьект класса и пользуйтесь сколько хотите.




$country=new Country;

$regions=new Regions;

....



http://stackoverflow.com/questions/16919734/dropdownlist-yii-3-or-more-models/16921537#16921537 вот собственно приблизительная реализация того что вам нужно.

Насчет нескольких таблиц в модели - тут нужно уточнить. Если имеется ввиду 2-3 таблицы то нужно делать модели для каждой (это занимает 2 минуты максимум). Если же имеется ввиду 100 таблиц или динамически создаваемые таблицы, то нужно создать модель без таблицы и описать методы работы с элементами. С таким количеством таблиц их имена должны отличатся на некий id (tbl_id_1,tbl_id_2…). Тут берем DAO и реализуем. Все довольно просто :)