Learn some tips about Drupal 8

Tags: Technologies, Managed Teams, IT Staff Augmentation
Share

Table of contents

![Learn some tips about Drupal 8 - Rootstack](https://cms.rootstack.com/sites/default/files/blog/img/untitled-1.png) Learning a new system usually means learning about its little quirks. Drupal 8 has its fair share of quirks. Here are some quick tips that I have learned in the past few months working on my first Drupal 8 project. ### addExpression Suppose you need to get the last time an item in a table was edited. You can build a dynamic query and, instead of using fields(), you'd use addExpression() like so: `$query->addExpression('MAX(mod_date)', 'col_alias');` Now you will get the highest timestamp. `$timestamp = $query->execute()->fetchField();` ### Differences between `$entity->field_name` and `$entity->get('field_name')` `$entity->field_name` will return null if the field does not exist while `$entity->get('field_name')` will throw an Exception. Sometimes you'll want one behavior over another so keep that in mind. ### Adding a class to a item list elements I almost went mad looking for an answer until I dived into the code and learned about `#wrapper_attributes`. Just add this to your item list render array and you're good to go. It will apply those attributes to each `
  • ` tag within your item list. ### appendItem If you need to add a value to a multivalue field in an entity, you can use `appendItem()` to get the job done. `$entity->field_multivalue->appendItem($some_other_entity_id);` Over the coming weeks, I or any of my fellow developers here at [Rootstack](http://rootstack.com) will be posting quick tips for other developers new to Drupal 8. I'm sure you will learn a thing or two or, at the very least, we will save you from a mild headache.
  • BoardArrows

    Let's work together!

    * By providing your phone number, you agree to receive recurring SMS messages and voice calls from Rootstack related to events, product updates, and services. Message frequency may vary, and standard message and data rates may apply. Text STOP to unsubscribe from SMS messages. If you wish to opt out of voice calls, please let us know directly.