Неправильный аргумент снабжения для foreach - PullRequest
1 голос
/ 24 марта 2020

У меня есть проблема в моем foreach. Я пытаюсь получить данные по категориям. У меня есть популярная категория на моей домашней странице. Я хочу, чтобы, когда пользователь щелкает по имени кошки, его шоу, связанные задания этой категории, прекрасно, когда данные существуют, но данные не найдены, это выдает мне ошибку invalid argument Supply for foreach.

Вот мой контроллер:

public function catwise($catname){
        $data['jobs'] = $this->edituser_model->getBlogByname($catname); 
        $this->load->view('locwise' , $data);           
    }  

и моя модель:

public function getBlogByname($catname){
        $this->db->select('*');
        $this->db->where('catname', $catname);
        $query = $this->db->get('jobs');

      if($query->num_rows() > 0){
        return $query->result();
      } else {
        return false;
      }

    }

и мой взгляд:

<?php if(count($jobs)): ?>
   <?php foreach ($jobs as  $row): ?> 

      <div class="job-box">
           <div class="company-logo">
      </div>

      <div class="row"> 
            <div class="col-lg-12">
                  <div class="alert alert-success alert-2" role="alert">
                            <button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button>
                           Recently Posted Jobs in <?php echo $row->catname?>
                        Category</div>
        <div class="row">
                <div class="job-box">

                    <div class="description">
                        <div class="float-left">
                            <h5 class="title"><a href="<?php echo site_url('candidate/jobs_detail/' .$row->id);?>"><?php echo $row->job_title?></a></h5>
                            <div class="candidate-listing-footer">
                            <ul> 
                                    <li><i class="flaticon-pin">&nbsp;</i><?php echo $row->location?></li>
                                    <li><i class="flaticon-money">&nbsp;</i><?php echo $row->salary?></li>
                                    <li><i class="flaticon-work">&nbsp;</i><?php echo $row->timing?></li>
                                    <!--<li><i class="flaticon-honor">&nbsp;</i><?php echo $jobs->qualification?></li>
                                     <li><i class="flaticon-notepad">&nbsp;</i><?php echo $jobs->experience?></li>-->
                            </ul>&nbsp; 
                            <h6>Deadline:<?php echo $row->deadline?></h6>
                            </div>
                        </div>
                        <div class="div-right">
                            <a href="<?php echo site_url('candidate/edit/' .$row->id);?>" class="apply-button">Apply Now</a>
                            <!--<a href="#"><i class="flaticon-heart favourite"></i></a>--> 
                        </div> 
                    </div> 
                </div> 
                       </div>
                       </div><!--end row--> 
            </div> 
        </div> 
    </div>
 <?php endforeach ?>
 <?php else: ?>
  <span class="text-danger">No jobs are currently active at the moment. Please check again later. Or to look for more jobs on our website please click <a href="<?= site_url('Welcome/job_list');?>">here!</a></span><br>
 <?php endif;?>
 </div>
 </div>

Большое спасибо: Джунаид Амин

1 Ответ

2 голосов
/ 24 марта 2020

Когда ваша модель возвращает boolean, то есть false, count(false) (true также), равное 1.

echo count(false);

https://3v4l.org/ChEDK

Вы должны вернуть пустой массив, например return [];.

...