我正在做一个项目,我遇到了这个问题"参数计数错误"。我已经逐个代码检查了代码,但没有找到任何东西。
控制器代码 :
<?php
defined('BASEPATH') or exit('No direct script access allowed');
class Appointment extends CI_Controller
{
public function __construct()
{
parent::__construct();
$this->load->model(['appointment_m', 'jadwal_m']);
}
public function index($id)
{
$dokter = $this->appointment_m->getProfileApp($id);
$jadwal = $this->appointment_m->getJadwalApp($id);
$data = [
'dokter' => $dokter,
'jadwal' => $jadwal
];
// var_dump($data);
// die;
$this->load->view('frontend/appointment/appointment', $data);
}
}
型号代码 :
<?php
defined('BASEPATH') or exit('No direct script access allowed');
class Appointment_m extends CI_Model
{
public function getProfileApp($id = null)
{
$this->db->from('tbldokter');
if ($id != null) {
$this->db->where('id_dokter', $id);
}
$query = $this->db->get()->row();
return $query;
}
public function getJadwalApp($id)
{
$this->db->join('tbldokter', 'tbldokter.id_dokter = tbljadwal.id_dokter');
$this->db->from('tbljadwal');
$this->db->where('tbldokter.id_dokter', $id);
$query = $this->db->get();
return $query;
}
}
模态名称流程:
遇到未捕获的异常 类型:参数计数错误
消息:参数太少,无法正常工作 Appointment::index((, 0 已通过 在 D:\xampp\htdocs\dental-web\system\core\CodeIgniter.php 第 532 行 并且正好是预期的 1
个文件名: D:\xampp\htdocs\dental-web\application\controllers\Appointment.php
行号:12
回溯:
文件: D:\xampp\htdocs\dental-web\index.php 行: 315 功能: require_once
我已经搜索了这个与此类问题相关的网站,但我没有找到我的问题解决方案。此问题出现在提交表单之前。请帮助我。
谢谢
你的索引需要接收一个 ID,你是否将 ID 传递给了它?如果没有,则错误将显示给您。
如果 index(( 函数在控制器中的$id是必需的,那么你必须确保它始终存在。 如果没有,请尝试定义 $id = null,因此如果不存在$id,则不会出错。
错误消息清楚地表明参数计数小于约会控制器中的索引函数所需的参数。若要使参数可选,请为该参数分配一些默认值,例如:
public function index($id = NULL){
// your code here
}
现在,使用或不带参数调用此方法。
您必须知道的另一件事是:index 方法是该控制器的默认方法,这意味着如果您在配置/路由中调用控制器.php则默认情况下调用 index 方法。如:
$route['yourController'] = 'yourController';
http://yourDomain/yourController 在这种情况下,默认情况下调用索引方法。
或
$route['yourController/(any:)'] = 'yourController/$1';
在这种情况下,将使用参数调用索引方法。