За последние 24 часа нас посетили 22725 программистов и 1216 роботов. Сейчас ищут 793 программиста ...

Вывод данных из двух моделей на одной странице

Тема в разделе "PHP для новичков", создана пользователем Konstant1n, 6 сен 2018.

  1. Konstant1n

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

    С нами с:
    14 авг 2017
    Сообщения:
    273
    Симпатии:
    1
    Адрес:
    Волгоград
    Сайт у меня на PHP MVC.
    Тут же так все устроено, что в зависимости от запроса, запускается тот или иной контроллер и вызывается у соответствующей модели тот или иной метод.

    Так вот... У меня меня следующие контроллеры, модели и их методы:
    1. ControllerArticle
    2. ControllerFile

    1. ModelArticle
    2. ModelFile

    Файлы привязаны к заметкам.
    site/article/3 - сайт/модель/id
    Вывод заметки происходит в контроллере заметок так: render(данные полученные от модели заметок, шаблон заметки).
    А в render'е следующее: подключается общий шаблон.
    Общий шаблон - один html файл:
    там header
    сюда подключается шаблон моделей, который передан в рендер вторым параметром.
    там же footer


    Как после заметки id = 3 вывести файлы этой заметки? Желательно так, чтобы задействовать контроллер файлов. Потому что, кроме вывода файлов, у меня еще есть загрузка, сохранение. Т.е. не хочу отдельно создать модель только для вывода, а потом еще для загрузки и сохранения.
     
  2. _ne_scaju_

    _ne_scaju_ Старожил

    С нами с:
    25 ноя 2016
    Сообщения:
    2.149
    Симпатии:
    118
    тебе нужно вывести после site/article/3/файлы заметки/ верно?
    если да в router добавь к пути: site/article/3/([0-9A-Za-z]+) => контроллер/метод/$1
    где $1 - отвечает за файлы заметки.
    Теперь делаешь запрос или каким ты образом вытягиваешь файл заметки и подставляешь в адресную строку(ссылку)
     
  3. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.794
    Симпатии:
    650
    И Хде они? Между контроллером и моделью не обязательно должно быть взаимно однозначное соответствие. Вы можете внутри одного метода одного контроллера вызывать разные методы одной и той же или разных моделей.
     
    _ne_scaju_ нравится это.
  4. Valick

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

    С нами с:
    12 авг 2018
    Сообщения:
    1.911
    Симпатии:
    328
    @_ne_scaju_, тебе не кажется странным, что ты задаёш свои более лёгкие вопросы, а отвечаешь на более сложные вопросы форумчан?
     
  5. _ne_scaju_

    _ne_scaju_ Старожил

    С нами с:
    25 ноя 2016
    Сообщения:
    2.149
    Симпатии:
    118
    я просто хочу точность когда я задаю вопрос, и сразу писать правильно, и потом чтобы не переделывать) нет мне не кажется вроде вопросы одинаковы по сложности. Я что не правильно что-то подсказал?
     
  6. Valick

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

    С нами с:
    12 авг 2018
    Сообщения:
    1.911
    Симпатии:
    328
    ТС задал вопрос таким образом, что ответить на него можно только наугад.
     
    _ne_scaju_ нравится это.
  7. _ne_scaju_

    _ne_scaju_ Старожил

    С нами с:
    25 ноя 2016
    Сообщения:
    2.149
    Симпатии:
    118
    а в друг попал) именно это ему нужно! согласен вопрос не корректен.
     
  8. Konstant1n

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

    С нами с:
    14 авг 2017
    Сообщения:
    273
    Симпатии:
    1
    Адрес:
    Волгоград
    Нет, в ссылку не надо ничего добавлять. Допустим я Админ. Открываю заметку site/admin/article/3. В странице будет отображена заметка , после неё файлы этой заметки. Т.е. могу редактировать содержимое заметки и файлы.
    --- Добавлено ---
    Я в курсе, что у модели можно дергать несколько методов. Модели разные для файлов и заметок. Тогда в модели заметок создать метод получения файлов? И в этом методе создать модель файла и дергать ее метод получения?
     
  9. _ne_scaju_

    _ne_scaju_ Старожил

    С нами с:
    25 ноя 2016
    Сообщения:
    2.149
    Симпатии:
    118
    значит создай метод получения файлов, обратись к нему $file= new Zametka(); и выводи инфу которую нужно редактировать после заметки.
     
  10. mkramer

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

    С нами с:
    20 июн 2012
    Сообщения:
    8.555
    Симпатии:
    1.754
    В одном действии контроллера дёрнуть несколько моделей. Усё элементарно.
     
    _ne_scaju_ нравится это.
  11. Konstant1n

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

    С нами с:
    14 авг 2017
    Сообщения:
    273
    Симпатии:
    1
    Адрес:
    Волгоград
    а как вывести через рендер, данные из двух моделей?
     
  12. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.794
    Симпатии:
    650
    Вы не умеете данные объединять? :rolleyes: