[英]How to get images from child table with primer key in codeigniter
我在数据库“cardetails”,“pricedetails”和“stockimages”中有三个表。
我正在使用Codeigniter中的join来获取三个表上方的所有记录。 我从两个表中获取数据,但我无法从“stockimages”获取图像数据
表详情: -
1. Cardetails
carid Make Model Color Body user_id
1 Hundai Varna White Sand 1
2 Audi A5 White Sand 1
3 BMW A3 White Sand 1
4 Audi A1 White Sand 1
2. Pricedetails
priceid carid minPrice MaxPrice
1 3 15000 22000
3. stockimaes
imgid carid imagesurl
1 3 url 1
2 3 url 2
3 3 url 3
4 3 url 4
5 3 url 5
我想在头版显示价格和图像的所有汽车。
public function allCarList($userid){
$this->db->select('*');
$this->db->from('cardetails as stock' );
$this->db->where('stock.user_id', $usrid);
$this->db->where('deleteid != ',1);
$this->db->join('price as p', 'stock.carid = p.carid', 'LEFT');
$this->db->order_by('carid','desc');
$q = $this->db->get()->result();
return $q;
}
无法获取包含与相同carid相关的所有行的图像。
您的代码问题是您没有加入另一个表。 你只包括这两个加入( cardetails
, price
):
$this->db->from('cardetails as stock' );
$this->db->join('price as p', 'stock.carid = p.carid', 'LEFT');
您需要做的是添加第二个连接,以连接第三个表,通常您可以使用以下语法:
$this->db->select('*');
$this->db->from('table1');
$this->db->join('table2', 'table1.id = table2.id');
$this->db->join('table3', 'table1.id = table3.id');
$query = $this->db->get();
对于你的例子,它将是:
$this->db->from('cardetails as stock' );
$this->db->join('price as p', 'stock.carid = p.carid');
$this->db->join('stockimaes as img', 'stock.carid = img.carid');
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.