我想从控制器中的同一个函数(函数索引)调用两个不同的视图。
我传递了一个参数(一个id)到index函数,当id的值为null时,我想显示所有的blog列表,如果我得到一个id,那么我只想显示一个id在url中的blog。
我成功地做到了这一点,但我得到了一个警告:
遇到PHP错误
严重性:警告
Message:Missing argument 1 for blog::index()
文件名:controllers/blog.php
行号:5
我该如何解决这个问题?
我的代码:
class blog extends CI_Controller{
function index($url)
{
$this->load->model('blog_model');
$url = $this->uri->segment(1);
$data['blog_details'] = $this->blog_model->getBlog($url);
$data['blog_comment'] = $this->blog_model->getComment($url);
$data['blog_all'] = $this->blog_model->getBlogAll();
$this->load->view('blog',$data);
} }
2条答案
按热度按时间x6yk4ghg1#
我认为你最好为你期望得到的变量定义一个默认值:
这将使您的函数将
$url
设置为NULL
,以防URL中没有参数传递给函数。r3i60tvu2#
首先,你必须检查get id是否为null,然后你必须在其上加载视图。
示例:
但是在routes.php中有一个更好的方法,为每个路由声明不同的方法。