Как получить изображения из дочерней таблицы с ключом-праймером в codeigniter - PullRequest
0 голосов
/ 15 мая 2019

У меня есть три таблицы в базе данных "cardetails", "pricedetails" и "stockimages".

Я использую объединение в Codeigniter, чтобы получить все записи формы выше трех таблиц.Я получил данные из двух таблиц, но я не могу получить данные изображений из "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;
} 

Невозможно получить изображения со всеми строками, связанными с одним и тем же символом.

1 Ответ

0 голосов
/ 16 мая 2019

Проблема вашего кода в том, что вы не присоединяетесь к другой таблице.Вы включили только объединение этих 2 (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');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...