如何在Cakephp中更新字段

如何在Cakephp中更新字段,cakephp,sql-update,cakephp-2.0,cakephp-2.1,Cakephp,Sql Update,Cakephp 2.0,Cakephp 2.1,我是Cakephp的新手,所以我觉得很难实现数据库查询。。我想要的是我想要更新一个手机号码,其中的电子邮件与用户提供的相同。。 这就是我要实现的查询 "Update Users set mobileNo = $mobileNo where email = $email" 我正在这样做 $mobileNo = $data['mobileNo']; $email = $data['$email']; $count = $this-

我是Cakephp的新手,所以我觉得很难实现数据库查询。。我想要的是我想要更新一个手机号码,其中的电子邮件与用户提供的相同。。 这就是我要实现的查询

        "Update Users set  mobileNo = $mobileNo  where email = $email"
我正在这样做

      $mobileNo = $data['mobileNo'];
        $email = $data['$email'];


        $count = $this->User->find('count', array(
            'conditions' => array('User.email' => $email)));

        if($count>0){

            $email = $this->User->field(
                'email',
                array('User.mobileNo' => $mobileNo));
            echo $email;

            $this->User->saveField("mobileNo",$mobileNo);

CakePHP中的更新通常都基于了解要编辑的记录的主键

普通/简单 更新单个字段的示例如下:

$this->User->id = $this->User->field('id', array('email' => $email));
if ($this->User->id) {
    $this->User->saveField('mobileNo', $mobileNo);
}
这将导致以下查询(省略一些计数):

这将导致以下查询:

UPDATE users set mobileNo = "$mobileNo" where email = "$email"
如果使用updateAll,请注意更新应该是sql片段,这意味着您需要引用字符串

$this->User->updateAll(
    array('mobileNo' => "'$MobileNo'"),
    array('email' => $email)
);
UPDATE users set mobileNo = "$mobileNo" where email = "$email"