Я строю API REST с четырьмя конечными точками (я должен сказать, что я только начал с Codeigniter). Одним из них является получение данных, и он получает два идентификатора параметров, и код через get.
Проблема заключается в том, что данные извлекаются из пяти разных таблиц, все связаны (скажем, таблица 1, Таблица 2, ..., Таблица 5).
Здесь я сомневаюсь в том, что является правильным способом создания решения: < /p>
. где: (table1.id = id) и (table1.code = code) и (table1.status 'отклонил') и попросите контроллера вызовать этот метод модели. Например, в контроллере у меня был бы метод, который содержит что -то похожее на следующее: < /p>
$dataModel = new DataModel();
// Retrieve data from all the tables with one SQL and JOINS
$data = $dataModel->getData($id, $code);
$responseData = [
'column1' => data['column1'],
'column2' => data['column2'],
'column3' => data['column4'],
...
'columnN' => data['columN']
];
< /code>
Вариант 2: Создайте несколько моделей, по одному на таблицу и из контроллера вызовите методы, которые возвращают мне информацию каждой модели. Например, в контроллере у меня был бы метод, который содержит что -то похожее на следующее: < /p>
$table1Model = new Table1Model();
$table2Model = new Table2Model();
$table3Model = new Table3Model();
$table4Model = new Table4Model();
$table5Model = new Table5Model();
// Retrieve data from table1 table
$table1Data = $table1Model->getData($id, $code);
// Retrieve data from table2 table table1.idTable2 = table2.id
$table2Data = $table2Model->getData($idTable2);
// Retrieve data from table3 table table table1.id = table3.idTable1
$table3Data = $table3Model->getData($id);
// Retrieve data from table4 table table table2.id = table4.idTable2
$table4Data = $table4Model->getData($idTable2);
// Retrieve data from table5 table table1.idTable5 = table5.id
$table5Data = $table5Model->getData($idTable5);
$responseData = [
'column1' => table1Data['table1Column1'],
'column2' => table2Data['table2Column2'],
'column3' => table3Data['table3Column4'],
...
'columnN' => table5Data['table5ColumN']
];
< /code>
Тот же запрос был бы для конечной точки, которая должна вставить или обновлять данные в несколько таблиц.
Что будет лучшим вариантом? Есть ли лучший, который я не понимаю?
Любое мнение/помощь приветствуется!>
Подробнее здесь: https://stackoverflow.com/questions/787 ... model-code
CodeIgniter Getinger Вопрос о правильном коде модели ⇐ Php
Кемеровские программисты php общаются здесь
-
Anonymous
1751433339
Anonymous
Я строю API REST с четырьмя конечными точками (я должен сказать, что я только начал с Codeigniter). Одним из них является получение данных, и он получает два идентификатора параметров, и код через get.
Проблема заключается в том, что данные извлекаются из пяти разных таблиц, все связаны (скажем, таблица 1, Таблица 2, ..., Таблица 5).
Здесь я сомневаюсь в том, что является правильным способом создания решения: < /p>
. где: (table1.id = id) и (table1.code = code) и (table1.status 'отклонил') и попросите контроллера вызовать этот метод модели. Например, в контроллере у меня был бы метод, который содержит что -то похожее на следующее: < /p>
$dataModel = new DataModel();
// Retrieve data from all the tables with one SQL and JOINS
$data = $dataModel->getData($id, $code);
$responseData = [
'column1' => data['column1'],
'column2' => data['column2'],
'column3' => data['column4'],
...
'columnN' => data['columN']
];
< /code>
Вариант 2: Создайте несколько моделей, по одному на таблицу и из контроллера вызовите методы, которые возвращают мне информацию каждой модели. Например, в контроллере у меня был бы метод, который содержит что -то похожее на следующее: < /p>
$table1Model = new Table1Model();
$table2Model = new Table2Model();
$table3Model = new Table3Model();
$table4Model = new Table4Model();
$table5Model = new Table5Model();
// Retrieve data from table1 table
$table1Data = $table1Model->getData($id, $code);
// Retrieve data from table2 table table1.idTable2 = table2.id
$table2Data = $table2Model->getData($idTable2);
// Retrieve data from table3 table table table1.id = table3.idTable1
$table3Data = $table3Model->getData($id);
// Retrieve data from table4 table table table2.id = table4.idTable2
$table4Data = $table4Model->getData($idTable2);
// Retrieve data from table5 table table1.idTable5 = table5.id
$table5Data = $table5Model->getData($idTable5);
$responseData = [
'column1' => table1Data['table1Column1'],
'column2' => table2Data['table2Column2'],
'column3' => table3Data['table3Column4'],
...
'columnN' => table5Data['table5ColumN']
];
< /code>
Тот же запрос был бы для конечной точки, которая должна вставить или обновлять данные в несколько таблиц.
Что будет лучшим вариантом? Есть ли лучший, который я не понимаю?
Любое мнение/помощь приветствуется!>
Подробнее здесь: [url]https://stackoverflow.com/questions/78774032/codeigniter-begginer-question-about-correct-model-code[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия