【发布时间】:2022-08-17 18:47:23
【问题描述】:
抱歉我的英语不好,但是当我尝试打开 localhost:8080/blog 时出现问题,此消息显示
函数 App\\Controllers\\Blog::view() 的参数太少,在 C:\\xampp\\htdocs\\baru\\vendor\\codeigniter4\\framework\\system\\CodeIgniter.php 中传递了 0第 896 行,预期为 1
所以这是控制器:
use CodeIgniter\\Controller; use App\\Models\\ModelsBlog; class Blog extends BaseController { public function index() {$data = [ \'title\' => \'artikel\' ]; $model = new ModelsBlog(); if (!$this->validate([])) { $data[\'validation\'] = $this->validator; $data[\'artikel\'] = $model->getArtikel(); return view(\'view_list\',$data); } } public function form(){ $data = [ \'title\' => \'Edit Form\' ]; helper(\'form\'); return view(\'view_form\', $data); } public function view($id){ $data = [ \'title\' => \'artikel\' ]; $model = new ModelsBlog(); $data[\'artikel\'] = $model->PilihBlog($id)->getRow(); return view(\'view\',$data); } public function simpan(){ $model = new ModelsBlog(); if ($this->request->getMethod() !== \'post\') { return redirect()->to(\'blog\'); } $validation = $this->validate([ \'file_upload\' => \'uploaded[file_upload]|mime_in[file_upload,image/jpg,image/jpeg,image/gif,image/png]|max_size[file_upload,4096]\' ]); if ($validation == FALSE) { $data = array( \'judul\' => $this->request->getPost(\'judul\'), \'isi\' => $this->request->getPost(\'isi\') ); } else { $upload = $this->request->getFile(\'file_upload\'); $upload->move(WRITEPATH . \'../public/assets/blog/images/\'); $data = array( \'judul\' => $this->request->getPost(\'judul\'), \'isi\' => $this->request->getPost(\'isi\'), \'gambar\' => $upload->getName() ); } $model->SimpanBlog($data); return redirect()->to(\'./blog\')->with(\'berhasil\', \'Data Berhasil di Simpan\'); } public function form_edit($id){ $data = [ \'title\' => \'edit artikel\' ]; $model = new ModelsBlog(); helper(\'form\'); $data[\'artikel\'] = $model->PilihBlog($id)->getRow(); return view(\'form_edit\',$data); } public function edit(){ $model = new ModelsBlog(); if ($this->request->getMethod() !== \'post\') { return redirect()->to(\'blog\'); } $id = $this->request->getPost(\'id\'); $validation = $this->validate([ \'file_upload\' => \'uploaded[file_upload]|mime_in[file_upload,image/jpg,image/jpeg,image/gif,image/png]|max_size[file_upload,4096]\' ]); if ($validation == FALSE) { $data = array( \'judul\' => $this->request->getPost(\'judul\'), \'isi\' => $this->request->getPost(\'isi\') ); } else { $dt = $model->PilihBlog($id)->getRow(); $gambar = $dt->gambar; $path = \'../public/assets/blog/images/\'; @unlink($path.$gambar); $upload = $this->request->getFile(\'file_upload\'); $upload->move(WRITEPATH . \'../public/assets/blog/images/\'); $data = array( \'judul\' => $this->request->getPost(\'judul\'), \'isi\' => $this->request->getPost(\'isi\'), \'gambar\' => $upload->getName() ); } $model->edit_data($id,$data); return redirect()->to(\'./blog\')->with(\'berhasil\', \'Data Berhasil di Ubah\'); } public function hapus($id){ $model = new ModelsBlog(); $dt = $model->PilihBlog($id)->getRow(); $model->HapusBlog($id); $gambar = $dt->gambar; $path = \'../public/assets/blog/images/\'; @unlink($path.$gambar); return redirect()->to(\'./blog\')->with(\'berhasil\', \'Data Berhasil di Hapus\'); } }模型博客.php:
use CodeIgniter\\Model; class ModelsBlog extends Model { protected $table = \'artikel\'; public function getArtikel() { return $this->findAll(); } public function SimpanBlog($data) { $query = $this->db->table($this->table)->insert($data); return $query; } public function PilihBlog($id) { $query = $this->getWhere([\'id\' => $id]); return $query; } public function edit_data($id,$data) { $query = $this->db->table($this->table)->update($data, array(\'id\' => $id)); return $query; } public function HapusBlog($id) { $query = $this->db->table($this->table)->delete(array(\'id\' => $id)); return $query; } }这是view.php:
<body style=\"width: 70%; margin: 0 auto; padding-top: 30px;\"> <div class=\"row\"> <div class=\"col-lg-12 margin-tb\"> <div class=\"pull-left\"> <h2><?php echo $artikel->judul; ?></h2> </div> </div> </div> <hr> <div class=\"row\"> <div class=\"col-lg-12\"> <div class=\"row\"> <?php if (!empty($artikel->gambar)) { echo \'<img src=\"\'.base_url(\"assets/blog/images/$artikel->gambar\").\'\" width=\"30%\">\'; } ?> <?php echo $artikel->isi; ?> </div> </div> </div> </body>我找不到任何解决此错误的方法,请帮助非常感谢
-
什么是896行?错误说你用 0 个参数调用一个视图,但需要 1
-
@Vickel 它说: $class->{$this->method}(...$params); }
标签: php codeigniter