致命错误:未捕获ArgumentCountError:参数太少 函数Articlesmodel :: update_article(),0传递
这是我的模特
function update_article($article_id,Array $article){
return $this->db
->where('id',$article_id)
->update('articles',$article);
}
这是我的控制器
function update_article(){
print_r($this->input->post());
$this->load->model('articlesmodel');
$update_articles=$this->articlesmodel->update_article();
if($update_articles){
}
}
答案 0 :(得分:1)
在你的模型中,你接受2个参数,但你不是从控制器发送它们。只需将2个参数从控制器发送到模型,它就可以正常工作
在模型中
update_article($article_id,Array $article)
控制器中的
update_article($MISSING,$MISSING)
答案 1 :(得分:1)
function update_article($article_id,$article){
$this->db->trans_start();
$this->db->where('id', $article_id);
$this->db->update('articles', $article);
$this->db->trans_complete();
return TRUE;
}
希望这会对你有所帮助
答案 2 :(得分:0)
最后我解决了我的问题。这是问题所在, $ post 我无法在$post=$this->input->post();
以下的函数中传递此变量
`
**before fixing error the was problem here**
`function update_article(){
print_r($this->input->post());
$this->load->model('articlesmodel');
$update_articles=$this->articlesmodel->update_article();
if($update_articles){
}
}`
修正错误后代码为。
function update_article(){
print_r($this->input->post());
$this->load->model('articlesmodel');
$post=$this->input->post();
$update_articles=$this->articlesmodel->update_article($article_id,$post);
if($update_articles){
}
}
我没有在控制器中删除 $ post 而未在Controller $update_articles
中传递 2 param
$update_articles=$this->articlesmodel->update_article($article_id,$post)
之后
在$update_articles=$this->articlesmodel->update_article();
之前