Как удалить одну запись с условием where в cakephp?
Я использую cakephp2. Как удалить одну запись с условием ?
У меня есть таблица с именем posts с полями id, title, post. первичный ключ-id. Я хочу удалить одну запись с id=5 ?
Как это возможно ?
то есть я жезлы для преобразования запроса,
$this->query('delete * from posts where id = 5'); To cakephp ?
как эта функция пишется на CakePHP modeln с именем Post ?
3 ответов
вы можете сделать это так. $this->Model->delete(5);
или вы можете сначала назначить ID модели, а затем удалить ее. Такие как
$this->Model->id = 5;
$this->Model->delete();
Если вы хотите выполнить запрос delete (или любой другой) без модели, вы должны попробовать
$db = ConnectionManager::getDataSource('default');
$db->rawQuery("DELETE FROM table WHERE id=5");
использовать deleteAll()
.
$this->Model->deleteAll(array('Model.field_name'=>'field_value'));
или удалить с помощью первичного ключа:
1. $this->Model->delete(primary_key_value);
2. $this->Model->id = primary_key_value;
$this->Model->delete();
надеюсь, что это поможет кому-то.
delete(int $id = null, boolean $cascade = true);
удаляет запись, идентифицированную $id. По умолчанию также удаляет записи, зависящие от записи, указанной для удаления.
также вы можете применить функцию, как в контроллере, чтобы удалить одну запись
$this->Post->delete($this->request->data('Post.id'));
или если вам известен статический идентификатор
$this->Post->delete(5);
пожалуйста, дайте мне знать, если я могу помочь вам больше