Tôi biết tôi có thể sử dụng $this->Model->save()
để cập nhật một bản ghi cụ thể nếu tôi chuyển id vào, nhưng làm cách nào để cập nhật một trường trên hàng đó?Truy vấn UPDATE với CakePHP
Tôi có một bảng users
với trường balance
. Tôi muốn cập nhật trường balance
dựa trên những gì đã có sẵn.
Ví dụ: người dùng có $ 20 trong trường số dư. Tôi muốn thêm $ 1 để kiếm được $ 21. Cách duy nhất tôi biết cách thực hiện việc này là sử dụng
$balance = $this->Model->find('first', array(
'conditions' => array('User.id' => $userId),
'fields' => array('User.balance')
));
$this->Model->save(array(
'User' => array('id' => $userId, 'balance' => $balance['User']['balance'] + $credit)
));
Làm cách nào để nhận được tất cả trong một cuộc gọi save
?
đánh bại tôi :) Dưới đây là link API http://api.cakephp.org/class/model#method-ModelsaveField – tigrang
Tôi thậm chí không phải là một anh chàng CakePHP (thêm một anh chàng CodeIgniter) và tôi đã tìm ra nó! Lấy làm tiếc! – David
Chỉ cần lưu ý thêm: đảm bảo '$ this-> Model-> id' được đặt trước cuộc gọi – tigrang