我是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>  <?php echo $results->id; ?><br>
<b>Business Name:</b>  <?php echo $results->bus_name; ?><br>
<b>Full Address:</b>  <?php echo $results->address; ?><br>
<b>Owner Name:</b>  <?php echo $results->owner_name; ?><br>
<b>Phone Number:</b>  <?php echo $results->owner_number; ?><br>
<b>Point Person:</b>  <?php echo $results->pt_person; ?><br>
<b>Phone Number:</b>  <?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