2016-06-20 79 views
0
$this->Model->id = $id; 
$this->Model->saveField('field', 'value'); 

OR哪個選項是最好CakePHP2更新與MySQL

$this->Model->set(array('fieldname' => 'value')); 
$this->Model->save(); 

OR

$this->Model->updateAll(array("fieldName"=>"value"),array("fieldName"=>"condition")); 

OR

$this->Model->save($this->request->data); 

有CakePHP中的許多選項來更新數據,也造成混淆選擇一個。

在此先感謝..

回答

1

都有自己的usage.please找到我的答案與我們的代碼一起。

  1. 如果您希望更新給定ID的一列。你可以使用下面的代碼。 $ this-> Model-> id = $ id; $ this-> Model-> saveField('field','value');

  2. 它可以更新給定ID的多個列。在這裏你只添加了一個字段。因此,它只會更新一列[僅影響到一行]。 $ this-> Model-> set(array('fieldname'=>'value')); $ this-> Model-> save();

  3. 它將更新滿足條件的多行的字段。 $ this-> Model-> updateAll(array(「fieldName」=>「value」),array(「fieldName」=>「condition」));

  4. 下面主要用於insert語句,其中所有列都需要保存。它也可能用於更新行。

$ this-> Model-> save($ this-> request-> data);

我希望你找到你的答案。