logo

Types de blocs supplĂ©mentaires (EBT) – Nouvelle expĂ©rience de Layout Builder❗

Types de blocs supplĂ©mentaires (EBT) – types de blocs stylisĂ©s et personnalisables : diaporamas, onglets, cartes, accordĂ©ons et bien d’autres. ParamĂštres intĂ©grĂ©s pour l’arriĂšre-plan, la boĂźte DOM, les plugins JavaScript. DĂ©couvrez dĂšs aujourd’hui le futur de la crĂ©ation de mises en page.

Démo des modules EBT Télécharger les modules EBT

❗Types de paragraphes supplĂ©mentaires (EPT) – Nouvelle expĂ©rience Paragraphes

Types de paragraphes supplĂ©mentaires (EPT) – ensemble de modules basĂ© sur les paragraphes analogiques.

Démo des modules EPT Télécharger les modules EPT

Défilement
05/07/2025, by Ivan

Certaines requĂȘtes SQL peuvent retourner des rĂ©sultats en double. Dans ces cas, les lignes dupliquĂ©es peuvent ĂȘtre filtrĂ©es en utilisant le mot-clĂ© « DISTINCT » dans une requĂȘte statique. Dans une requĂȘte dynamique, utilisez la mĂ©thode distinct().

05/07/2025, by Ivan

Pour grouper par un champ donné, utilisez la méthode groupBy().

$query->groupBy('uid');

Le code ci-dessus indique Ă  la requĂȘte de grouper par le champ uid. Notez que le nom du champ doit ici ĂȘtre un alias, créé par les mĂ©thodes addField() ou addExpression(), donc dans la plupart des cas, vous voudrez utiliser la valeur retournĂ©e par ces mĂ©thodes pour garantir que l’alias correct est utilisĂ©.

Pour obtenir le nombre de lignes groupées par un champ, par exemple uid, vous pouvez faire ce qui suit :

05/07/2025, by Ivan

Pour ajouter une clause WHERE Ă  une requĂȘte dynamique, utilisez la mĂ©thode condition() :

$query->condition('bundle', 'article', '=');

Le code ci-dessus indique Ă  la requĂȘte de filtrer les rĂ©sultats pour le type de contenu « article ». Notez que le nom du champ ici doit ĂȘtre un alias créé par les mĂ©thodes addField() ou addExpression().

ParamĂštres de Condition

La méthode condition() prend trois paramÚtres :

05/07/2025, by Ivan

Une requĂȘte Select renverra toujours un objet jeu de rĂ©sultats contenant zĂ©ro ou plusieurs enregistrements. Il existe plusieurs façons d'extraire des donnĂ©es de ce jeu de rĂ©sultats selon le cas d'utilisation. Par dĂ©faut, les enregistrements sont extraits en tant qu'objets, sauf si vous modifiez le mode d'extraction (voir : setFetchMode).

05/07/2025, by Ivan

Les requĂȘtes peuvent ĂȘtre extraites en objets basĂ©s sur des classes personnalisĂ©es. Par exemple, si nous avons une classe nommĂ©e ExampleClass, la requĂȘte suivante retournera des objets de type ExampleClass.

$result = $connection->query("SELECT id, title FROM {example_table}", [], [
  'fetch' => 'ExampleClass',
]);

Si la classe possĂšde une mĂ©thode __construct(), les objets seront créés, les propriĂ©tĂ©s seront ajoutĂ©es Ă  l'objet, puis la mĂ©thode __construct() sera appelĂ©e. Par exemple, si vous avez la classe suivante et la requĂȘte suivante.

05/07/2025, by Ivan

Les requĂȘtes d'insertion doivent toujours utiliser un objet constructeur de requĂȘtes. Dans certaines bases de donnĂ©es, un traitement spĂ©cial des champs LOB (Large OBject, par exemple TEXT dans MySQL) et BLOB (Binary Large OBject) est nĂ©cessaire, ce qui demande un niveau d'abstraction pour que les diffĂ©rents pilotes de bases de donnĂ©es puissent implĂ©menter le traitement spĂ©cifique requis.

Les requĂȘtes d'insertion sont lancĂ©es en utilisant la mĂ©thode insert() de la maniĂšre suivante :

05/07/2025, by Ivan

Les requĂȘtes de fusion reprĂ©sentent un type particulier de requĂȘte hybride. Bien que leur syntaxe soit dĂ©finie dans la spĂ©cification SQL 2003, pratiquement aucune base de donnĂ©es ne supporte la syntaxe standard. Cependant, la plupart fournissent une implĂ©mentation alternative utilisant une syntaxe spĂ©cifique Ă  la base de donnĂ©es. Le constructeur de requĂȘtes de fusion dans Drupal abstrait le concept de requĂȘte de fusion en un objet structurĂ© qui peut ĂȘtre compilĂ© avec la syntaxe appropriĂ©e pour chaque base de donnĂ©es.

05/07/2025, by Ivan

Les requĂȘtes de suppression doivent toujours utiliser un objet constructeur de requĂȘtes. Elles sont exĂ©cutĂ©es en utilisant la mĂ©thode delete() de la maniĂšre suivante :

$query = $connection->delete('mytable', $options);

Cela crĂ©e un objet de requĂȘte de suppression qui supprime des enregistrements de la table mytable. Notez que les accolades ne sont pas nĂ©cessaires pour le nom de la table, car le constructeur de requĂȘtes s'en chargera automatiquement.

05/07/2025, by Ivan

Drupal prend Ă©galement en charge les transactions, y compris une alternative transparente pour les bases de donnĂ©es qui ne supportent pas les transactions. Cependant, les transactions peuvent devenir assez complexes si vous essayez d’exĂ©cuter deux transactions simultanĂ©ment. Le comportement dans ce cas dĂ©pend aussi de la base de donnĂ©es.