0

我有两个数据库表第一个表是: Products *id *brand *model

第二张表是:销售 *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 回答