Codeigniter - 如何使用多个表格的数据列表

时间:2012-10-03 18:25:07

标签: arrays codeigniter

我有两个数据库表 第一个表是:产品 *ID *牌 *模型

第二张表是:销售 *ID * PID *日期

我想创建列表,从两个表中获取数据。

这是我的模特:

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; ?>

任何人都帮助我,我想从销售表和产品详细信息中获取添加销售表的日期。 感谢

2 个答案:

答案 0 :(得分: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();
} 

答案 1 :(得分: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;