Astuce Drupal 7 : Mettre à jour et insérer uniquement des champs spécifiques de votre entité

Si vous voulez enregistrer seulement un champ spécifique sur votre entité au lieu de sauveguarder toute l'entité, c'est possible. Dans un sous-module du module du champs, vous trouverez un module appelé module field_sql_storage. Dans ce module toutes les fonctions disponibles pour le backend de stockage SQL peuvent être utilisées. L'une d'elles est field_sql_storage_field_storage_write, à laquelle vous donnez votre entité, le type, l'opérateur (mise à jour, insertion) et les champs à sauvegarder.

<?php
// Obtenir l'ID de votre champ
$name 'name_of_your_field';
$info field_info_field($field_name);
$fields = array(info['id']); 

// Exécuter la fonction de stockage
field_sql_storage_field_storage_write('model'$entity'update'$fields);
?>

Cela peut être un gain énorme en performances puisque vous sauveguardez seulement les champs spécifiques nécessaires au lieu de sauveguarder l'entité entière avec tous ses champs.