cakephp - 如何使用哈希类函数更新记录

问题描述 投票:0回答:1

我是 CakePhp 的新手,想要更新记录。 我已成功从我的表中获取记录。

$SQL = "SELECT Id, Name FROM Table WHERE Id = '123';
return Hash::combine($this->query($SQL), '{n}.{n}.Id', '{n}.{n}');

以上代码正确返回记录。

表名称:Table__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 查询为空

php mysql cakephp
1个回答
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

匹配的记录
© www.soinside.com 2019 - 2024. All rights reserved.