Codeigner3,如何连接两个表以同时显示



我是CodeIgniter的新手。我只显示我的第一个表,但我不想同时加入和显示我的第二个表,我尝试了codeigner3指南$this->db->join();,但我仍然被困在我的项目中。

控制器:

function ez($id) {
$this->load->model('Join_model');
$data['results']= $this->Join_model->getalldata($id);
$this->load->view('join_view',$data);
}

型号:

function getalldata($id) {
$this->db->where('id',$id);
$query = $this->db->get('tickets');
if($query){
return $query->row();

}
}

视图

<div class="col-sm-4 invoice-col">
<b>Ticket ID:</b>&nbsp <?php echo $results->id; ?><br>
<b>Business Name:</b>&nbsp <?php echo $results->bus_name; ?><br>
<b>Full Address:</b>&nbsp <?php echo $results->address; ?><br>
<b>Owner Name:</b>&nbsp <?php echo $results->owner_name; ?><br>
<b>Phone Number:</b>&nbsp <?php echo $results->owner_number; ?><br>
<b>Point Person:</b>&nbsp <?php echo $results->pt_person; ?><br>
<b>Phone Number:</b>&nbsp <?php echo $results->pt_person_number; ?><br>
</div>

表1

CREATE TABLE `tickets` (
`id` int(11) NOT NULL,
`as_name` varchar(50) NOT NULL,
`create_date` datetime NOT NULL,
`bus_name` varchar(255) NOT NULL,
`address` varchar(255) NOT NULL,
`owner_name` varchar(255) NOT NULL,
`owner_number` int(100) NOT NULL

) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

表2

CREATE TABLE `tickets_reply` (
`id` int(11) NOT NULL,
`tickets_id` int(11) NOT NULL,
`remarks` varchar(255) NOT NULL,
`comment` varchar(255) NOT NULL

) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

pt_person&视图文件中引用的pt_person_number不在您引用的任何表中。然而,我认为这正是你想要的。

function getalldata($id) {
$this->db->select('t.id, t.bus_name, t.address, t.owner_name, t.owner_number'); // add more columns here
$this->db->where('id', $id);
$this->db->from('tickets t');
$this->db->join('tickets_reply tr', 't.id = tr.tickets_id', 'left');
return $this->db->get()->row_object();
}

在此处阅读有关联接方法的更多信息https://codeigniter.com/userguide3/database/query_builder.html?highlight=join#CI_DB_query_builder::join

相关内容

  • 没有找到相关文章

最新更新