2012-10-03 2 views
0

여러 테이블에 어떻게 데이터 목록은 다음과 같습니다 제품 * ID * 브랜드 * 모델CodeIgniter는 - 내가 데이터베이스 1 테이블의 두 테이블이

2 테이블 : 판매 * 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; ?> 
내보기 코드

아무도 도와주세요, 나는 판매 테이블에 추가하는 판매 테이블과 제품 상세 정보를 원합니다. 감사합니다.

+0

이 조인을 시도하거나 노동 조합 – Rooster

+0

이 정말 CodeIgniter의 질문하지만, 의도 한 결과를 바로 얻을 수있는 쿼리를 작성하는 방법을 더하지? –

답변

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(); 
} 
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; 
관련 문제