[英]show data with join table in codeigniter
我想顯示用戶的所有保留,這是我的表:
CREATE TABLE IF NOT EXISTS `reservation` (
id_passager
INT(11)NOT NULL, idvoyage
INT(11)NOT NULL, etat
VARCHAR(20)NOT NULL, dateres
時間戳NULL DEFAULT CURRENT_TIMESTAMP,PRIMARY KEY( id_passager
, idvoyage
),KEY iduser
( id_passager
, idvoyage
),KEY idvoyage
( idvoyage
));
CREATE TABLE IF NOT EXISTS `trajet` (
id
int(11)非空AUTO_INCREMENT, villedep
varchar(100)非空, villearrivee
varchar(100)非空,主鍵( id
));
CREATE TABLE IF NOT EXISTS `user` (
id
int(11)NOT NULL AUTO_INCREMENT, nom
varchar(50)NOT NULL, prenom
varchar(50)NOT NULL, datenaiss
date NOT NULL, sexe
varchar(10)NOT NULL, email
varchar(50)NOT NULL, numtel
varchar(14) )NOT NULL, mdp
varchar(16)NOT NULL, imageprofil
varchar(100)DEFAULT NULL, nbsignal
int(11)DEFAULT NULL, pseudo
varchar(20)NOT NULL, musique
varchar(20)DEFAULT NULL, fumeur
varchar(20)DEFAULT NULL, bavardage
varchar(20)默認NULL, sexecovoiturage
varchar(20)默認NULL, description
varchar(200)默認NULL,PRIMARY KEY( id
),UNIQUE KEY email
( email
),UNIQUE KEY numtel
( numtel
),UNIQUE KEY pseudo
( pseudo
));
CREATE TABLE IF NOT EXISTS `vehicule` (
matricule
varchar(50)不為空, marque
varchar(50)不為空, modele
varchar(50)不為空, confort
varchar(50)不為空, couleur
varchar(20)不為空, image1
varchar(100)默認為空, id_utilisateur
int (11)NOT NULL,PRIMARY KEY( matricule
),KEY id_utilisateur
( id_utilisateur
));
這是我的控制器功能:
public function reservation()
{
$this->load->view('headerprofile');
$data['reservation']=$this->User_model->getReservation();
$this->load->view('trajet/reservation',$data);
$this->load->view('footerprofile');
}
這是我的模型:
function getReservation()
{
$results = array();
$id=$this->session->userdata('id');
$this->db->select('res.*, v.*, t.*');
$this->db->from('reservation AS res, voyage AS v, trajet AS t,user AS u,vehicule AS veh ');
$this->db->where('res.id_passager',$id);
$this->db->where('u.id',$id);
$this->db->where('res.idvoyage=v.id');
$this->db->where('t.id=v.id_trajet');
$this->db->where('veh.id_utilisateur',$id);
//$this->db->where('v.id_vehicule=veh.matricule');
$query = $this->db->get();
if($query->num_rows()>1)
{
$results =$query->result();
}
return $results;
}
您可能需要將連接包括在某個位置。 我還不足以記住您的外鍵並寫出可以直接粘貼到代碼中的示例,但是您必須:
$this->db->from('table1');
$this->db->join('table2', 'table2.index = table1.index');
您可以根據需要指定聯接的類型。 如果您想做一些精美的事情,請參閱手冊以獲得更詳盡的解釋。
https://www.codeigniter.com/userguide3/database/query_builder.html
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.