0

だから私は最新のCodeigniterを使用していますが、私の問題は、コントローラーのforeach内でクエリを使用する必要があるという状況にあることです。すべての製造注文を 1 つのリストに表示するビューがあり、他のテーブルからすべてのユーザーが作成したコメントとメモが必要です。コーディングの非常に一般的な状況ですが、Codeigniter でこれを行う方法は、SQL 句をモデルに保持する必要があるためです。

コントローラー内で生のSQLをフォークする前に、これを達成するためのより穏やかで適切な方法は何かを尋ねたかった. ありがとう!

コントローラ

<?php
public function show()
{    
  $this->load->database();

  $this->load->model('report_model');
  $this->load->helper('url');

  $data['productionOrders'] = $this->report_model->getAllProductionOrders();
  $this->load->view('all_reports', $data);
}
?>

モデル

<?php
function getAllProductionOrders()
{
  $this->db->select(*);
  $this->db->from('dbo.QualityControl_ProductionOrders');

  $query = $this->db->get();

  return $query->result();
}
?>

意見

<!DOCTYPE html>
<html lang="en">

 <head>
   <meta charset="utf-8">
 </head>

 <body>

  <?php
    foreach ($productionOrdersas $row)
    {
  ?>

  <div> 
    ProdNo: <?php echo $row->Prodno; ?>
    Descriptions: 
    Hours:
    etc etc etc etc
  </div>

  [I want here comments and all user made notes]

  <?php
    }
  ?>
 </body>
</html>
4

2 に答える 2

-1

あなたが何を求めているのかわからないが、これを試してください -

コントローラーで、

    $data['productionOrders'] = $this->report_model->getAllProductionOrders();

    foreach($data['productionOrders']['id'] as $id)
    {
         $data['comment'][$id] = $this->report_model->getCommantsByOrderId($id);
    }
于 2013-05-28T06:25:10.597 に答える