CodeIgniter Getinger Вопрос о правильном коде моделиPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 CodeIgniter Getinger Вопрос о правильном коде модели

Сообщение 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>
Тот же запрос был бы для конечной точки, которая должна вставить или обновлять данные в несколько таблиц.
Что будет лучшим вариантом? Есть ли лучший, который я не понимаю?
Любое мнение/помощь приветствуется!>

Подробнее здесь: https://stackoverflow.com/questions/787 ... model-code
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»