2017-02-21 4 views
1

любой может помочь мне здесь, я новичок в системе codeigniter. Я пытаюсь получить поле цены под таблицей учета, которая связана с таблицей test_kind?Запрос доступа внутри foreach codeigniter

Thankyou ..

модель

public function get_pending_test($row_id){ 

    $where = "statust='0' and tyre_no=$row_id"; 
    $this->db->select('lab_id, tyre_no, test') 
      ->from('test_kind') 
      ->where($where); 
    $query = $this->db->get(); 

    //return $query->result_array(); If i put this code it will return the lab_id, tyre_no, test, but I need to get the price field on the accounting table. 

    foreach($query->result_array() as $row){ 

     $this->db->select('price') 
       ->from('accounting') 
       ->where('test', $row['test']) 
       ->where('sample_idacc', $row['tyre_no']); 
     $query = $this->db->get()->row(); 
    } 
} 

контроллер

public function samples(){ //list of sample 
    if($this->session->userdata('is_logged_in')){ 
     $data['pending_test'] = $this->test_sample_model->get_pending_test($row_id); 

     $this->load->view('../template/header'); 
     $this->load->view('test_sample', $data); 
     $this->load->view('../template/footer'); 
    } else { 
     redirect('main/restricted'); 
    } 
} 

вид

<?php if(!empty($pending_test)) : 
    foreach($pending_test as $get) {?> 
    <tr> 
     <td><?=$get->lab_id?></td> //test_kind table 
     <td><?=$get->tyre_no?></td> //test_kind table 
     <td><?=$get->test?></td> //test_kind table 
     <td><?=$get->price?></td> //I should get this from accounting table 
    </tr> 
    <?php } else : ?> 
    <tr> 
     <td>No Result Found.</td> 
    </tr> 
<?php endif; ?> 
+0

использование таблицы JOIN –

+0

@AbdullaNilam кроме того, из таблицы соединений? Я просто хочу также, как работать с этим сэром. –

+0

вы можете использовать одно и то же поле для соединения двух или более таблиц –

ответ

1

Использование РЕГИСТРИРУЙТЕСЬ Заявление о

$query = $this->db->query(
         "SELECT 
          test_kind.lab_id, 
          test_kind.tyre_no, 
          test_kind.test, 
          accounting.price 
         FROM 
          test_kind 
         INNER JOIN 
          accounting 
         ON 
          test_kind.tyre_no = accounting.sample_idacc 
         WHERE 
          statust='0' and 
          tyre_no= $row_id;" 
        ); 
$result = $query->result_array(); 
return $result; 
+0

@ GeninaAnneGabuten отлично работает? –

+0

да, мне просто нужно изменить имя моего поля на моей другой таблице, чтобы можно было использовать инструкцию объединения. Thankyou –

+0

@GeninaAnneGabuten ok приятель. Наслаждайтесь кодированием .. :) –

1

вы можете использовать Join, чтобы получить такие записи.

$this->db->select('tk.lab_id, tk.tyre_no, tk.test,a.price') 
$this->db->from('test_kind' as tk) 
$this->db->join("accounting as a","a.sample_idacc = tk.tyre_no","LEFT"); 
$this->db->where('tk.status',0); 
$this->db->where('tk.tyre_no',$row_id); 
$query = $this->db->get(); 

return $query->result_array(); 
Смежные вопросы