Codeigniter blog: отображать заголовок сообщения в таблице комментариев - PullRequest
0 голосов
/ 19 мая 2018

Я работаю над приложением блога в Codeigniter 3.1.8 и Bootstrap 4.

Существует сообщений таблица и комментарии таблица в базе данных.Я отобразил все комментарии в таблице Bootstrap 4.Я хочу отобразить заголовок поста, которому принадлежит каждый комментарий, вместо id поста:

enter image description here

Контроллер My Comments:

class Comments extends CI_Controller {

  public function __construct()
  {
    parent::__construct();
    $this->load->model('Static_model');
    $this->load->model('Posts_model');
    $this->load->model('Categories_model');
    $this->load->model('Comments_model');
  }

  public function index() {
    $data = $this->Static_model->get_static_data();
    $data['categories'] = $this->Categories_model->get_categories();
    $data['number_of_categories'] = $this->Categories_model->get_num_rows();
    $data['posts'] = $this->Posts_model->get_all_posts();
    $data['number_of_posts'] = $this->Posts_model->get_num_rows();
    $data['comments'] = $this->Comments_model->get_all_comments();

    $this->load->view('partials/header', $data);
    $this->load->view('dashboard/comments');
    $this->load->view('partials/footer');
  }
}

В модели Comments_model у меня есть:

public function get_all_comments(){
    $this->db->select('comments.*');
    $this->db->order_by('comments.id', 'DESC');
    //$this->db->limit($limit, $offset);
    $this->db->join('posts', 'posts.id = comments.post_id');        
    $query = $this->db->get('comments');
    return $query->result();
}

В представлении:

<tbody>
  <?php foreach ($comments as $index => $comment): ?>
  <tr id="<?php echo $comment->id; ?>">
    <td><?php echo $index + 1; ?></td>
    <td class="w-25"><?php echo $comment->comment; ?></td>
    <td><?php echo $comment->name; ?></td>
    <td><?php echo $posts['title']; ?></td>
    <td><?php echo nice_date($comment->created_at, 'D, M d, Y'); ?></td>
    <td>Aproved</td>
    <td></td>
  </tr>
  <?php endforeach ?>
</tbody>

В то время как <?php echo $posts->id; ?> отображает идентификатор сообщения, который мне не нужен в представлении, строка приводит к

Сообщение: неопределенный индекс: ошибка заголовка.

Чего не хватает?

1 Ответ

0 голосов
/ 19 мая 2018

Надеюсь, это поможет вам:

get_all_comments метод должен быть таким: добавить posts.title в выберите также

public function get_all_comments()
{
   $this->db->select('comments.*,posts.title as post_title');
   $this->db->order_by('comments.id', 'DESC');
   //$this->db->limit($limit, $offset);
   $this->db->join('posts', 'posts.id = comments.post_id');        
   $query = $this->db->get('comments');
   return $query->result();
}

Заменить

<td><?php echo $posts['title']; ?></td>

на

<td><?php echo $comment->post_title; ?></td>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...