За последние 24 часа нас посетили 21702 программиста и 1019 роботов. Сейчас ищут 690 программистов ...

Много таблиц в одной модели

Тема в разделе "Laravel", создана пользователем alex.kot, 24 июл 2019.

Метки:
  1. alex.kot

    alex.kot Новичок

    С нами с:
    10 апр 2019
    Сообщения:
    23
    Симпатии:
    0
    Добрый день.
    Хочу сделать так, чтоб обращаться к нескольким таблицам через одну модель, но не получается.
    Такая штука не работает.
    Код (Text):
    1. $orders = new Order(['table' => 'orders_1']);
    2.  
    3. class Order extends Model
    4. {
    5.     public function __construct(array $attributes = [])
    6.     {
    7.         $this->table = $attributes['table'];
    8.         parent::__construct($attributes);
    9.     }
    10. }
     
  2. Алекс8

    Алекс8 Активный пользователь

    С нами с:
    18 май 2017
    Сообщения:
    1.730
    Симпатии:
    359
    не надо так делать)) одна модель = одна таблица)) у таблиц могут быть связи.. вот связями и оперируйте)
     
  3. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.553
    Симпатии:
    1.754
    Eloquent - это паттерн Active Record. Его суть - один экземпляр модели соответствует строке одной таблицы. Создайте лучше фабрику, которая будет отдавать разные модели в зависимости от условий. Плюс такие штуки посмотрите. Может стоит наоборот таблицу расширить. https://github.com/Nanigans/single-table-inheritance
     
    artoodetoo нравится это.
  4. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.072
    Симпатии:
    1.237
    Адрес:
    там-сям