Как передать данные в один вид из двух функций? - PullRequest
0 голосов
/ 07 ноября 2018

У меня есть функция, как показано ниже

public function view($slug = NULL){

        $data['book'] = $this->Book_Model->get_books($slug);
        $data['categories'] = $this->Category_Model->get_categories();

        //current book view
        $book_id = $data['book']['book_id'];
        echo "current book-".$data['book']['book_id']." ";

        if(empty($data['book'])) {
            show_404();
        }

        $this->add_views($book_id);
        $this->get_viewed_books($book_id);

        $this->load->view('templates/header', $data);
        $this->load->view('books/view', $data);
        $this->load->view('templates/footer');


    }

и моя get_viewed_books функция, как показано ниже

public function get_viewed_books($book_id) {

$data['results'] = $this->Book_Model->get_viewed_books($book_id);

}

как я могу отправить $data['results'] на $this->load->view('books/view', $data); с другими данными из первой функции?

1 Ответ

0 голосов
/ 07 ноября 2018

Назначить результат get_viewed_books некоторому ключу в $data:

$this->add_views($book_id);
$data['viewed_books'] = $this->get_viewed_books($book_id); // here

$this->load->view('templates/header', $data);
$this->load->view('books/view', $data);
$this->load->view('templates/footer');

Теперь в шаблоне у вас есть viewed_books переменная / ключ, и вы можете перебирать его.

И, конечно, ваш get_viewed_books($book_id) должен вернуть результат , а не присваивать его какой-либо неизвестной $data переменной:

public function get_viewed_books($book_id) {
    return $this->Book_Model->get_viewed_books($book_id);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...