JQGrid与CakePHP

JQGrid与CakePHP,cakephp,jqgrid,Cakephp,Jqgrid,我有一个总共有三列的JQGrid,并且正在使用框架cakephp填充表。其中一列是id(不可编辑)。另外两个是姓和名。它可以从mysql数据库中读取/添加/删除记录。但是,当我在JQgrid中编辑一个单元格时,它会保存对我正在编辑的单元格所做的更改,但会从另一个单元格中删除数据 例如,如果我有一个id为1的记录,则名为bob,姓为john。我去编辑姓氏并把它改成史密斯。记录现在显示1个鲍勃·史密斯。刷新页面时,记录显示为“1”“Smith”。有什么想法吗?我的控制器中indexedit的代码如下

我有一个总共有三列的JQGrid,并且正在使用框架cakephp填充表。其中一列是id(不可编辑)。另外两个是姓和名。它可以从mysql数据库中读取/添加/删除记录。但是,当我在JQgrid中编辑一个单元格时,它会保存对我正在编辑的单元格所做的更改,但会从另一个单元格中删除数据

例如,如果我有一个id为1的记录,则名为bob,姓为john。我去编辑姓氏并把它改成史密斯。记录现在显示1个鲍勃·史密斯。刷新页面时,记录显示为“1”“Smith”。有什么想法吗?我的控制器中indexedit的代码如下(并提前感谢您):

函数索引编辑()
{        
//$this->layout='empty';
$this->autoRender=false;
$action=$this->params[“form”][“oper”];
如果($action==“edit”)
{
$id=$this->params[“form”][“id”];
$fName=$this->params[“form”][“firstname”];
$lName=$this->params[“form”][“lastname”];
$this->Apple->save(数组(“id”=>$id,“firstname”=>$fName,“lastname”=>$lName),null);
}
如果($action==“del”)
{
$id=$this->params[“form”][“id”];
//用于多次删除
$exploded_id=exploded(',',$id);
对于($i=0;$iApple->delete($i=id[$i]);
//$fileDir=WWW_ROOT.'img/newsroom/press/'。$id;
//$this->removeFolder($fileDir);
}
//用于多次删除
//单一删除:
//$this->Apple->delete($id);
}
如果($action==“add”)
{
$fName=$this->params[“form”][“firstname”];
$lName=$this->params[“form”][“lastname”];
$this->Apple->save(数组(“firstname”=>$fName,“lastname”=>$lName)、null、null);
}

只是一个想法:尝试将
$this->Apple->create();
放在
save()
语句之前。

好的,您将不得不发布其余的操作代码,可能还有视图的适当部分。运行该create语句是不可能的。仍然会得到完全相同的结果。
function indexedit()
        {        

            //$this->layout= 'empty';   
            $this->autoRender = false;
            $action = $this->params["form"]["oper"];
                    if($action=="edit")
                    {
                        $id=$this->params["form"]["id"];    
                        $fName = $this->params["form"]["firstname"];
                        $lName = $this->params["form"]["lastname"];
                        $this->Apple->save(Array("id"=>$id,"firstname"=>$fName,"lastname"=>$lName),null);

                    }

                    if($action=="del")
                    {

                        $id=$this->params["form"]["id"];

                        //For Multiple Deletion
                        $exploded_id = explode(',', $id);

                        for($i=0;$i<sizeof($exploded_id);$i++)
                        {
                            $this->Apple->delete($exploded_id[$i]); 


                        //  $fileDir = WWW_ROOT .'img/newsroom/press/'.$id;
                        //  $this->removeFolder($fileDir);


                        }
                        //For Multiple Deletion


                        //single deletion :  
                        //$this->Apple->delete($id);        

                    }

                    if($action =="add")
                    {
                        $fName = $this->params["form"]["firstname"];
                        $lName = $this->params["form"]["lastname"];

                        $this->Apple->save(Array("firstname"=>$fName,"lastname"=>$lName),null,null);                             
                    }