---
title: "Introduction to Delegated Types"
url: https://daily.dev/posts/introduction-to-delegated-types-txnyrhyao
source_url: https://tighten.com/insights/delegated-types/
type: article
source: "Tighten"
published: 2026-02-12T15:36:13.102Z
updated: 2026-02-12T15:36:38.480Z
tags: ["database", "php", "laravel"]
reading_time: 18
upvotes: 0
comments: 0
language: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Introduction to Delegated Types

**[Tighten](https://daily.dev/sources/tightenco)** · 18 min read · 0 upvotes · 0 comments

## Summary

Delegated Types is a pattern for representing class hierarchies in Active Record ORMs using polymorphic relationships instead of inheritance. By creating a shared root model (like Entry) that connects to specialized models through morphTo relationships, you can add shared behavior across models, build recursive hierarchies, and maintain immutable historical data without Event Sourcing. The pattern simplifies routes and controllers, enables richer data modeling (like mixing messages and notes in the same thread), and allows treating relational databases like graphs while retaining historical versions of records.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://tighten.com/insights/delegated-types/>

## Similar posts on daily.dev

- [The Rails Delegated Type Pattern](https://daily.dev/posts/the-rails-delegated-type-pattern-zvzpqh4d4) · RUBYLAND · 0 upvotes · 0 comments
- [The Rails Recordables Pattern](https://daily.dev/posts/the-rails-recordables-pattern-ykamdpo1j) · 37signals Dev · 0 upvotes · 0 comments

---

Tags: [#database](https://daily.dev/tags/database), [#php](https://daily.dev/tags/php), [#laravel](https://daily.dev/tags/laravel)

[View this post on daily.dev](https://daily.dev/posts/introduction-to-delegated-types-txnyrhyao)
