0

データベースの2つのテーブルがあります。最初のテーブルは次のとおりです。Products*id* brand * model

2番目のテーブルは次のとおりです。Sales*id* pid * date

両方のテーブルからデータを取得してリストを作成したい。

これが私のモデルです:

class Sales_model extends CI_Model {
    function getAll() {


        $q = $this->db->get('sales');
        foreach ($q->result() as $row) {    
            $data[] = $row;

            $q2 = $this->db->get_where('products', array('id' => $row->pid));

            foreach ($q2->result() as $row2) {
                $data[] = $row2;
            }

        }
        return $data;
}

--------そしてここにコントローラーコードがあります------------

class Sales extends CI_Controller {

    function __construct()
    {
        parent::__construct();
    }

    public function index()
    {
        $this->load->model('sales_model');

        $data['q'] = $this->sales_model->getAll();

        $this->load->view('sales', $data);
    }
}

--------------------これが私のビューコードです----------------

<?php foreach($q as $row) : ?>
    <tr>
        <td><?php echo $row->id; ?></td>
        <td><?php $date = new DateTime("@$row->date"); echo $date->format('D M d, Y'); ?></td>
        <td><?php echo $row->brand; ?></td>
        <td><?php echo $row->model; ?></td>
    </tr>
<?php endforeach; ?>

誰かが私を助けてくれます、私は販売テーブルと販売テーブルに追加する製品の詳細から日付を取得したいと思います。ありがとう

4

2 に答える 2

1

必要なデータはよくわかりませんが、これが役立つ場合があります。

$sql = "SELECT products.id, products.brand, products.model, sales.id, sales.date FROM products INNER JOIN sales ON (products.id = sales.pid)";
$query = $this->db->query($sql); 

if($query->num_rows() > 0){
return $query->result_array();
} 
于 2012-10-03T19:10:35.703 に答える
0

モデル :

$this->db->select('p.*,s.date');
$this->db->from('product p');
$this->db->join('sales s','p.pid = s.pid');
$result = $this->db->get();

if($result->num_rows)
{
return $result->result();
}
return false;
于 2012-10-04T06:07:05.817 に答える