Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
  • Loading branch information
cake17 committed Mar 4, 2016
1 parent 7226dbb commit fe9c4d1
Show file tree
Hide file tree
Showing 2 changed files with 41 additions and 37 deletions.
33 changes: 16 additions & 17 deletions en/models/deleting-data.rst
Original file line number Diff line number Diff line change
Expand Up @@ -10,16 +10,16 @@ delete

``delete(integer $id = null, boolean $cascade = true);``

Deletes the record identified by $id. By default, also deletes
records dependent on the record specified to be deleted.
Deletes the record identified by $id. By default, also deletes records dependent
on the record specified to be deleted.

For example, when deleting a User record that is tied to many
Recipe records (User 'hasMany' or 'hasAndBelongsToMany' Recipes):
For example, when deleting a User record that is tied to many Recipe records
(User 'hasMany' or 'hasAndBelongsToMany' Recipes):

- if $cascade is set to true, the related Recipe records are also
deleted if the model's dependent-value is set to true.
- if $cascade is set to false, the Recipe records will remain
after the User has been deleted.
- if $cascade is set to true, the related Recipe records are also deleted if
the model's dependent-value is set to true.
- if $cascade is set to false, the Recipe records will remain after the User
has been deleted.

If your database supports foreign keys and cascading deletes, it's often more
efficient to rely on that feature than CakePHP's cascading. The one benefit to
Expand All @@ -34,9 +34,10 @@ You can hook custom logic into the delete process using the ``beforeDelete`` and

.. note::

If you delete a record with dependent records and one of their delete callbacks,
e.g. ``beforeDelete`` returns ``false``, it will not stop the further event
propagation nor does it change the return value of the initial ``delete``.
If you delete a record with dependent records and one of their delete
callbacks, e.g. ``beforeDelete`` returns ``false``, it will not stop the
further event propagation nor does it change the return value of the initial
``delete``.

.. _model-deleteall:

Expand All @@ -45,14 +46,12 @@ deleteAll

``deleteAll(mixed $conditions, $cascade = true, $callbacks = false)``

``deleteAll()`` is similar to ``delete()``, except that
``deleteAll()`` will delete all records that match the supplied
conditions. The ``$conditions`` array should be supplied as a SQL
fragment or array.
``deleteAll()`` is similar to ``delete()``, except that ``deleteAll()`` will
delete all records that match the supplied conditions. The ``$conditions`` array
should be supplied as a SQL fragment or array.

* **conditions** Conditions to match
* **cascade** Boolean, Set to true to delete records that depend on
this record
* **cascade** Boolean, Set to true to delete records that depend on this record
* **callbacks** Boolean, Run callbacks

Return boolean True on success, false on failure.
Expand Down
45 changes: 25 additions & 20 deletions fr/models/deleting-data.rst
Original file line number Diff line number Diff line change
Expand Up @@ -11,31 +11,37 @@ delete

``delete(integer $id = null, boolean $cascade = true);``

Supprime l'enregistrement identifié par $id. Par défaut, supprime
également les enregistrements dépendants de l'enregistrement
mentionné comme devant être supprimé.
Supprime l'enregistrement identifié par $id. Par défaut, supprime également les
enregistrements dépendants de l'enregistrement mentionné comme devant être
supprimé.

Par exemple, lors de la suppression d'un enregistrement User
lié à plusieurs enregistrements Recipe (User 'hasMany' ou
'hasAndBelongsToMany' Recipes):
Par exemple, lors de la suppression d'un enregistrement User lié à plusieurs
enregistrements Recipe (User 'hasMany' ou 'hasAndBelongsToMany' Recipes):

- si $cascade est fixée à true, les entrées Recipe liées sont aussi
supprimées si les valeurs "dependant" des models sont à true.
- si $cascade est fixée à false, les entrées Recipe resteront après
que l'User ait été supprimé.
- si $cascade est fixée à false, les entrées Recipe resteront après que
l'User a été supprimé.

Si votre base de données permet les clés étrangères et les suppressions en
cascade, il est souvent plus efficace de les utiliser plutôt que le cascade
de CakePHP. Le seul bénéfice pour l'utilisation de la fonctionnalité de
cascade de ``Model::delete()`` est qu'elle vous permet d'influencer les
callbacks des behaviors et des Models::
de CakePHP. Le seul bénéfice pour l'utilisation de la fonctionnalité de cascade
de ``Model::delete()`` est qu'elle vous permet d'influencer les callbacks des
behaviors et des Models::

$this->Comment->delete($this->request->data('Comment.id'));

Vous pouvez brancher une logique personnalisée dans le processus de
suppression à l'aide des callbacks ``beforeDelete`` et ``afterDelete``
présents dans les deux Models et Behaviors. Allez voir
:doc:`/models/callback-methods` pour plus d'informations.
Vous pouvez brancher une logique personnalisée dans le processus de suppression
à l'aide des callbacks ``beforeDelete`` et ``afterDelete`` présents dans les
deux Models et Behaviors. Allez voir :doc:`/models/callback-methods` pour plus
d'informations.

.. note::

Si vous supprimez un enregistrement avec des enregistrements dépendants et
que l'un des callbacks de suppression, par exemple ``beforeDelete`` retourne
``false``, il ne va pas stopper l'event de propagation suivant ni changer
la valeur de retour du ``delete`` initial.

.. _model-deleteall:

Expand All @@ -44,10 +50,9 @@ deleteAll

``deleteAll(mixed $conditions, $cascade = true, $callbacks = false)``

``deleteAll()`` est identique à ``delete()``, sauf que
``deleteAll()`` supprimera tous les enregistrements qui matchent les conditions
fournies. Le tableau ``$conditions`` doit être fourni en tant que fragment ou
tableau SQL.
``deleteAll()`` est identique à ``delete()``, sauf que ``deleteAll()``
supprimera tous les enregistrements qui matchent les conditions fournies. Le
tableau ``$conditions`` doit être fourni en tant que fragment ou tableau SQL.

* **conditions** Conditions pour matcher.
* **cascade** Booléen, Mis à true pour supprimer les enregistrements qui
Expand All @@ -73,7 +78,7 @@ bindModel() ou unbindModel() pour changer les associations, vous devrez définir
deleteAll() retournera true même si aucun enregistrement n'est supprimé,
puisque les conditions pour la requête de suppression est un succès et
qu'aucun enregistrement correspondant ne reste.


.. meta::
:title lang=fr: Supprimer des Données
Expand Down

0 comments on commit fe9c4d1

Please sign in to comment.