-> result () не показывает все данные / строки - PullRequest
0 голосов
/ 10 июля 2019

У меня есть вопрос

Допустим, у нас есть две таблицы в нашей базе данных

первая таблица: списки категорий

enter image description here

вторая таблица: data_category

enter image description here

, поэтому , если list_data_id равен 1 , что означает, что он имеет 2data , если вы посмотрите на таблицу data_category , которая 6 и 7

Теперь я хочу запросить от список категорий , так что 6 и 7 будут повторяться Car Wreckers и Cash For Cars .

ThisВот как выглядит мой код:

ниже - мой контроллер:

 public function index($listing_name)
{
    $this->load->view('layouts/head_layout_seo');
    $this->load->view('layouts/head_layout');

    $data['main_view'] = 'listings/main_view';
    $data['listing_data'] = $this->Listing_model->get_detail_listing($listing_name);

    $list_id = $data['listing_data']->list_data_id; // this is what I get list_data_id is equal to 1

    $data['category_ads'] = $this->Ads_model->get_ads($list_id); // this is what you need to look

    $this->load->view('layouts/main', $data);

    $this->load->view('layouts/footer_layout');

} 

ниже - моя модель:

  public function get_ads($list_id)
{
    $this->db->where('list_data_id', $list_id);
    $query = $this->db->get('data_category');
    $query = $query->result();
    //return $query;
    if (count($query) > 0) {    
        for ($i=0; $i < count($query); $i++) { 
            foreach ($query as $value) {
                $this->db->where('category_lists_id', $value->category_lists_id);
                $querys = $this->db->get('category_lists');
                //print_r($query);
                return $querys->result();
            }
        }    
    }
} 

ниже - мой взгляд:

 foreach ($category_ads as $value) {
<p><a href=""><?php echo $value->categories; ?></a></p>  }

с кодом выше я получаю только 1 данные , что составляет Автомобильные вредители Как видно из таблицы, предполагается, что 2 данных Автомобильные вредители и Наличные деньги за автомобили

Может кто-нибудь?elp мне с этим?

Спасибо

1 Ответ

1 голос
/ 10 июля 2019

Попробуйте, в вашей модели, поэтому не нужно звонить DB два раза и не нужно loop

public function get_ads($list_id)
{
   $this->db->select('cl.category_lists_id,cl.categories');
   $this->db->from('category_lists cl');
   $this->db->join('data_category dc','cl.category_lists_id = dc.category_lists_id');
   $this->db->where('dc.list_data_id',$list_id);
   $query = $this->db->get();
   if($query->num_rows() > 0){
       return $query->result();
   }else{
       return array();
   }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...