Получение данных из базы данных по убыванию в codeigniter - PullRequest
0 голосов
/ 03 августа 2020

У меня есть сайт в codeigniter. На главной странице я беру все данные из базы данных. Я хочу получить свою базу данных в порядке убывания по идентификатору. Я думаю, что это мелочь, но я обнаружил ошибку в своем коде. Я пробовал несколько похожих вопросов, но у меня возникла ошибка этого типа.

что я пробовал

пользователь. php (контроллер)


public function viewmainoffer()
{
    $this->load->model('viewoffer');
    $employee = $this->viewoffer->veiwoffersmodel();
    $this->load->view('user/offer', ['employee'=>$employee]);
}

предложение. php (модель)

  public function veiwoffersmodel() { 
        return $this->db->get('offers')->order_by('offer_id', 'desc')->result(); 
      
      
    }

предложение. php (просмотр)

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

    <div class="container mainofferdiv align-left p-3 mt-4">
  <div class="row">
    <div class="col-lg-4 col-md-4 col-sm-4 imagedivision ">
      <img style="border-radius: 10px;" height="100" width="150" class="mt-5  offerimage" src="<?=  $row->image ?>">
    <br>

    </div>
    <div class="col-lg-8 col-md-8 col-sm-8  d-flex flex-column justify-content-between">
      <h3 style="color: red;" class="mt-3"><?=  $row->heading ?></h3>
      <p style="word-wrap: break-word;"><?php echo nl2br($row->details); ?></p>
      <div>
      
        <a class="btn btn-warning p-3 font-weight-bold" href="<?=  $row->link ?>">Collect cashback</a>
        </button>
      </div>
      <div>
        <br>
     <button class="btn btn-success"> Verified <i class="fa fa-check-square" aria-hidden="true"></i></button>

    
     </div>
    </div>
  </div>
</div>


<?php endforeach; ?>
<?php else: ?>
<?php endif; ?>

ошибка, которую я получил

An uncaught Exception was encountered
Type: Error

Message: Call to undefined method CI_DB_mysqli_result::order_by()

Filename: C:\xampp\htdocs\blog\application\models\viewoffer.php

Line Number: 25

Backtrace:

File: C:\xampp\htdocs\blog\application\controllers\user.php
Line: 122
Function: veiwoffersmodel

File: C:\xampp\htdocs\blog\index.php
Line: 315
Function: require_once

Спасибо

Ответы [ 2 ]

2 голосов
/ 03 августа 2020

Вам нужно переключить получение и заказ по. Get возвращает результаты, поэтому вам нужно поместить order_by перед get, чтобы его можно было запустить в базе данных, вместо окончательных результатов.

return $this->db->order_by('offer_id', 'desc')->get('offers')->result();
0 голосов
/ 03 августа 2020

Измените свою функцию в вашей Модели (см. Предложение php)

public function veiwoffersmodel() { 
$this->db->select('*');
$this->db->from('table name');
$this->db->order_by('offer_id', 'desc');
$query = $this->db->get();
return $query->result();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...