Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
仍然停留在更新行cakephp中_Cakephp - Fatal编程技术网

仍然停留在更新行cakephp中

仍然停留在更新行cakephp中,cakephp,Cakephp,我已经发布了一个问题并得到了帮助,但我仍然没有成功。 我正在尝试更新cakePHP 2.3.1中的一行。我使用$validates数组和控制器(简化)对AppModel进行了类测试扩展: 编辑后的我的视图以及用户的建议:D: class Test extends AppModel { var $name= 'Test'; var $primaryKey= 'stuId'; public $validate= array(.......); } 我在视图中设置了$primaryKey,在控制器中

我已经发布了一个问题并得到了帮助,但我仍然没有成功。 我正在尝试更新cakePHP 2.3.1中的一行。我使用$validates数组和控制器(简化)对AppModel进行了类测试扩展:

编辑后的我的视图以及用户的建议:D:

class Test extends AppModel {
var $name= 'Test';
var $primaryKey= 'stuId';
public $validate= array(.......);
}
我在视图中设置了$primaryKey,在控制器中设置了$this->Test->$primaryKey,但仍然出现错误:

数据库错误:SQLSTATE[23000]:完整性约束冲突:键“PRIMARY”SQL查询的1062重复项“”:插入到cakePhp.tests(stune、stuDoB、studadd)值('oĐa oĐ)ức Anh,2013-03-25,Kim Liên)


有人能帮我吗,我真的需要帮助,我被困在这个问题上两天了,想不出来:(

快速尝试:

尝试将控制器代码中的
$this->data
更改为
$this->request->data

更多内容:

底线是,您的主键未设置

  • 尝试使用(根据CakePHP手册)以下语法:

    public$primaryKey='stuId';//注意“public”而不是“var”

  • 检查以了解为什么要保存的数据中没有“studId”

    debug($this->request->data);

  • 我的假设是,它不在请求数据中-如果是的话,你会没事的

  • 将studId添加到正在提交的表单中,或 以您认为合适的任何其他方式将ID放入请求数据中

    旁注:


    你一直在说“视图”,但你真正的意思是“模型”。

    我想你必须改变下面这行

    $this->Test->stuId = $this->data['Test']['stuId'];
    

    因为它是包含主键值的
    id
    属性

    $this->Test->stuId = $this->data['Test']['stuId'];
    
    $this->Test->id = $this->data['Test']['stuId'];