
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

Reduce QA costs with Playwright and AI
July 15th 2026
Discover how Playwright, combined with artificial intelligence, reduces QA costs, accelerates deliveries, and improves software reliability in modern development teams

Migrating to automation with Playwright and AI: A guide
July 15th 2026
Learn how to migrate from manual testing to automation with Playwright and artificial intelligence. A strategic guide for QA teams and engineering leaders

Playwright for enterprise web applications
July 15th 2026
Learn how to implement Playwright in enterprise teams with best practices, scalable strategies, and integration into CI/CD pipelines

Playwright vs Cypress: performance and scalability
July 15th 2026
Technical comparison between Playwright and Cypress: architecture, parallelization, cross-browser support, and scalability for enterprise projects. Make an informed decision.

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