我是CakePhp的新手,想要更新记录。 我已成功从我的桌子中取出记录。
$SQL = "SELECT Id, Name FROM Table WHERE Id = '123';
return Hash::combine($this->query($SQL), '{n}.{n}.Id', '{n}.{n}');
以上代码正确返回记录。
表名:表_c
型号名称:Table.php
控制器名称:TablesController.php
我试过以下:
$sObjects = array();
$sObject = new stdClass();
$sObject->Id = 123;
$sObject->Name = "abc";
array_push($sObjects, $sObject);
$result = $this->Table__c->save($sObjects);
给了我错误:在非对象上调用成员函数save()
之前我使用的是Salesforce,以下代码很好:
$this->query(array('update', $sObjects, 'Table__c'));
但是使用MySQL它会给我错误:
SQLSTATE [42000]:语法错误或访问冲突:1065查询为空
答案 0 :(得分:0)
谢谢你们的评论我很感激。
答案:
如果您的表名和型号名称不匹配,请在模型类中添加:
var $useTable = 'Table_Name';
你可以使用那张桌子。
现在您将如何更新此表中的记录:
$sObject = new stdClass();
$sObject->Name = "'abc'";
$sObject->Address = "'xyz'";
$condition = array('Id' => "123");
$this->updateAll((array)$sObject, $condition);
updateAll()函数将更新与$condition