->result() не показывает все данные/строки

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

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

первая таблица: category_lists

->result() не показывает все данные/строки

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

->result() не показывает все данные/строки

поэтому если list_data_id равен 1 означает, что у него есть 2 данные, если вы посмотрите на таблица data_category, который равен 6 и 7.

Теперь я хочу сделать запрос из таблица category_list, чтобы 6 и 7 отображали Автоэвакуаторы и Наличные за автомобили.

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

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

 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 данныеАвтоэвакуаторы и Наличные за автомобили

Кто-нибудь может мне с этим помочь?

Спасибо

Я не знаком с Codeigniter, но, глядя на вашу логику, ваш цикл foreach проходит только через первый элемент, после которого вы возвращаете значение, он никогда не достигает конца массива.

catcon 10.07.2019 04:36

Также у вас есть вложенный цикл, который будет печатать результат несколько раз, если в таблице data_category более 1 результата.

catcon 10.07.2019 04:41

почему бы вам не использовать join в запросе модели?

M.Hemant 10.07.2019 04:47

$запрос = $запрос->result_array();

Mohit Kumar 10.07.2019 04:47

@catcon, если я помещу строку return $querys->result(); после закрывающей скобки цикла foreach я получу Cash For Cars, а не Car Wreckers.

Ace 10.07.2019 04:49

@MohitKumar Я пробовал, не помогает, показывает только 1 результат

Ace 10.07.2019 04:50

@ М.Хемант, можешь объяснить, как это сделать?

Ace 10.07.2019 04:50
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
7
33
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Попробуйте это в своей модели, так что не нужно вызывать 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();
   }
}

Большое спасибо, я искал этот ответ последние 2 дня

Ace 10.07.2019 05:00

Другие вопросы по теме