
Learn some tips about Drupal 8
Share
Table of contents

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.
Related blogs

Playwright vs. Selenium: Which framework to choose?
July 15th 2026
Technical comparison between Playwright and Selenium: architectural differences, speed, stability, and scenarios where each framework is the best option for your project

AI and Playwright: faster and smarter testing
July 15th 2026
Discover how artificial intelligence is transforming test automation with Playwright: test generation, maintenance, and CI/CD

Playwright for testing: a complete guide for QA teams
July 14th 2026
Discover how Playwright transforms end-to-end test automation: architecture, parallelization, CI/CD integration, best practices, and when to adopt it in enterprise projects

Legacy Core Banking Migration: 5 Engineering Lessons
May 27th 2026
Discover 5 engineering lessons on legacy core banking migration. Architectural strategies and financial risk mitigation with Rootstack