当我使用名为users_id
而不是id
的自动增量主键时,如何删除CakePHP 2.x中的记录?
我使用以下代码:
$this->User->delete(12);
但它没有用。
答案 0 :(得分:4)
您必须在模型中声明将用作主键的字段的名称。例如:
class User extends AppModel {
// user_id is the field name in the database
public $primaryKey = 'user_id';
}
现在应该可以使用以下内容:
$this->User->delete(12);
此语法也是允许的:
$this->User->id = 12;
$this->User>delete();
答案 1 :(得分:0)
使用deleteAll()
方法,您可以像在查询中一样指定条件。
所以在你的情况下它将是
$this->User->deleteAll(array('User.user_id' => 12));
有关详细信息,请参阅http://book.cakephp.org/2.0/en/models/deleting-data.html