php mvc модель и связь один ко многим

135
30 декабря 2019, 15:10

Интересует такой вопрос, например, есть две таблицы в базе данных

Таблица news

id  title       cat_id
1   Новость 1      3
2   Новость 2      2
3   Новость 3      1

Таблица categories

id  title
1   Категория 1
2   Категория 2
3   Категория 3

А также создано две модели для работы со своими таблицами данных (news_model и categories_model). В итоге получается (в качестве примера приведу вывод последних новостей), что я в контроллере сначала обращаюсь к методу модели news_model, который возвращает массив с последними 10 новостями. После чего В КОНТРОЛЛЕРЕ прохожусь в цикле по полученному массиву и формирую массив из идентификаторов категорий. После чего обращаюсь к методу модели categories_model, который возвращает массив категории по их идентификаторам. После этого в контроллере формирую массив с данными для вывода ($result = [ [news] => [....] , [categories] => [.... ] ]) и отдаю эти данные в вид. В итоге он (вид) возвращает HTML код в контроллер, а тот в свою очередь отображает этот код пользователю.

Так вот. Вопрос в следующем. Как правильно это организовать. Мне кажется, что в контроллере не правильно проходиться в цикле по данным, а как это сделать правильно я не знаю.

READ ALSO
WP_Query, сортировка по произвольным полям

WP_Query, сортировка по произвольным полям

Допустим есть произвольный тип, созданный с помощью register_post_type('custom_type'

177
$_FILES перенаправить на другой сервер

$_FILES перенаправить на другой сервер

Столкнулся с проблемой при отправке $_FILES , система такая что я получаю $_FILES от внешнего сервера через POST обрабатываю его ( формирую доп параметры...

209
yii2 перенос сайта с VDS на VDS

yii2 перенос сайта с VDS на VDS

При переносе с со старого на новую виртуальную машину выдает ошибку такую:

162
mysql Получить данные из двух таблиц одним запросом

mysql Получить данные из двух таблиц одним запросом

есть три таблицы страна->регион->город где в каждой последующей есть id предыдущей, к которой та относится:

144