Как ПОДСЧИТАТЬ связанные записи в другой таблице для одной записи в родительской таблице с помощью построителя запросов Php

Кемеровские программисты php общаются здесь
Anonymous
Как ПОДСЧИТАТЬ связанные записи в другой таблице для одной записи в родительской таблице с помощью построителя запросов

Сообщение Anonymous »

Здесь у меня есть список одинаковых названий категорий, которые относятся к разным родительским категориям. Когда я извлекаю данные в соответствии с идентификатором, я получаю результат, потому что идентификатор разный для всех, но когда я получаю по имени категории, я получаю только первые результаты, хотя у меня есть два одинаковых имени категории в разных родительских категориях. Вот моя таблица категорий

id category_name parent_id
8 men 0
9 kids 0
10 T-shirts 8
11 Shirts 8
12 Jeans 8
13 Pants 8
14 Shorts 8
15 Tees 9
16 Shirts 9
17 Jeans 9
18 Pants 9


Здесь в качестве имени категории указаны рубашки под разными родительскими_идами. Когда я выбираю идентификатор 16-рубашек, я получаю значение идентификатора 11-рубашек из-за того же имени категории.
Вот контроллер, который я использую

public function men_clothing_image($category=null)
{

$category_id =$this->roxmodel->get_category_id($category);
$data['active_mn']='men_clothing';

$data['men']=$this->roxmodel->get_category_by_parent($p_id=8);
$data['kids']=$this->roxmodel->get_category_by_parent($p_id=9);

$config['base_url'] = base_url().'men-'.$category;
$config['per_page'] = 2;
$config['uri_rsegment'] = 4;
$config['use_page_numbers'] = TRUE;
$config['total_rows'] = $this->roxmodel->count_category_images($category_id);
$data['galllery']=$this->roxmodel->get_gallery_men_images($category_id,$config['per_page'],$this->uri->rsegment(4));

$this->load->library('pagination',$config);
$data['page_links'] = $this->pagination->create_links();

$this->load->view('men_clothing_image',$data);

}


Вот модель, которую я прохожу

public function get_category_id($category_name)
{
$this->db->select('category.id');
$this->db->where('category.category_name',$category_name);
$result = $this->db->get('category')->row();
if($result)
{
return $result->id;
}
}


Я выполнил самостоятельное присоединение для соединения идентификатора и названия категории, но результат был нулевым

public function get_category_id($category_name)
{
$this->db->select('c.id');
$this->db->join('category c1','c.id=c1.category_name');
$this->db->where('c1.category_name',$category_name);
$result = $this->db->get('category c')->row();
if($result)
{
return $result->id;
}
}


функция подсчета изображений выглядит следующим образом..

public function count_category_images($p_id)
{
$this->db->select('gallery.*','category.category_name');
$this->db->join('category', 'category.id = gallery.category_id');
$this->db->where('category.id',$p_id);
$this->db->order_by('gallery.id','desc');
return $this->db->count_all_results('gallery');
}


Подробнее здесь: https://stackoverflow.com/questions/372 ... a-parent-t

Вернуться в «Php»