不带Save()函数的Cakephp


Cakephp without Save() function?

我可以知道,除了Save()函数之外,还有其他方法来存储SQL语句吗?我想做一些简单的计算,我想把结果存储在数据库中。有人知道吗?

public function add() {
    if ($this->request->is('post')) {
        /// complete calculation 
        $data1 = (string) $this->request->data['Calculate']['var1'];
        $data2 = (string) $this->request->data['Calculate']['var2'];
        echo $data1;
        echo '<br/>';
        echo $data2;
        $result = $data1 + $data2;
        echo '<br/>';
        echo $result;
      SQL Statement
      mysql_query("INSERT INTO calculate VALUES('$data1','$data2','$result','2')") or die(mysql_error());
       // if($this->Calculate->save($this->request->data)){
       //     echo'succuful add';

       // }
    }  
 }

对不起,你做错了。

使用Cake的全部意义在于它包含一个数据库抽象层,它可以处理SQL语法、SQL注入攻击和许多其他好处的所有混乱细节。

如果你想在保存之前以一种特殊的方式操作你的数据,你可以这样做:

$calculateDetails = array(
    'Calculate' => array(
        'field1' => $data1,
        'field2' => $data2,
        'field3' => $result,
        'field4' => '2'
    )
);
$this->Calculate->save($calculateDetails);