我想显示用户的所有预订,这是我的表格:
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)NOT NULL AUTO_INCREMENT,
villedep
varchar(100)NOT NULL,
villearrivee
varchar(100)NOT NULL,
主要关键(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
日期非空,
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)DEFAULT NULL,
sexecovoiturage
varchar(20)DEFAULT NULL,
description
varchar(200)DEFAULT NULL,
PRIMARY KEY(id
),
独特的钥匙email
(email
),
独特的钥匙numtel
(numtel
),
独特的钥匙pseudo
(pseudo
)
);
CREATE TABLE IF NOT EXISTS `vehicule` (
matricule
varchar(50)NOT NULL,
marque
varchar(50)NOT NULL,
modele
varchar(50)NOT NULL,
confort
varchar(50)NOT NULL,
couleur
varchar(20)NOT NULL,
image1
varchar(100)DEFAULT NULL,
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;
}
答案 0 :(得分:2)
您可能需要在某处包含联接。我还不够酷,无法记住您的外键,并写出一个可以直接粘贴到代码中的示例,但您必须:
$this->db->from('table1');
$this->db->join('table2', 'table2.index = table1.index');
如果需要,您可以指定联接类型。如果您正在尝试做一些奇特的事情,请参阅手册以获得更全面的解释。
https://www.codeigniter.com/userguide3/database/query_builder.html