Warm tip: This article is reproduced from serverfault.com, please click

php-未定义的数据库变量

(php - Undefined database variable)

发布于 2020-11-28 22:10:32

下面的Blog.php代码:

    <?php namespace App\Controllers;
    
    use App\Models\BlogModel;
    
    class Blog extends BaseController
    {
        public function index()
        {
            $model = new BlogModel();
    
            //echo "<pre>";
    
            //print_r($model);
    
            $dados = [
                'posts' => $model->get()->paginate(5),
                'pager' => $model->pager
            ];
            return view('posts/blog_index', $dados);
        }

下面的blog_index.php代码:

    <?= $this->extend('layouts/main') ?>
    
    <?= $this->section('content') ?> 
 

    <?= $this->include('/components/busca_blog', $dados['posts'] ) ?>   
    <?= $this->include('/components/posts_recentes', $dados['posts'] ) ?>   
    <?= $this->include('/components/categorias', $categorias) ?>   
    <?= $this->include('/components/arquivo', $dados['posts'] ) ?>

我看不到我的错误在哪里,它引发了errorException:“ Undefined Variable:dados”。关于$ categorias变量,我正在学习如何为每个控制器使用多个表。

Codeigniter版本:4.0.4通过xampp运行

Questioner
luan lopez
Viewed
11
KUMAR 2020-11-29 07:22:49

控制器Blog.php

class Blog extends BaseController
{
    public function index()
    {
        $model = new BlogModel();

        $dados = [
            'posts' => $model->get()->paginate(5),
            'pager' => $model->pager
        ];
        return view('posts/blog_index', $dados);
    }
}

查看blog_index.php

<?= $this->include('/components/posts_recentes', $posts) ?> 

    if(!empty($posts))
    {
        print_r($posts);
    }

注意:-供参考,请参阅:-

https://codeigniter4.github.io/userguide/outgoing/views.html#adding-dynamic-data-to-the-view