Notable Laravel Notes Package | Notable | Mohamed Said        [  ![Mohamed Said](https://cdn.msaied.com/01KT78WE565VEMM3PSNQAAB0MH.png)   Mohamed Said Laravel Backend Engineer  ](https://msaied.com) [ Home ](https://msaied.com) [ Projects ](https://msaied.com/projects) [ Articles  ](https://msaied.com/articles) [ Certificates ](https://msaied.com/certificates) [ Contact ](https://msaied.com#contact-section) 

       [  ](https://github.com/EG-Mohamed)       

 [ Home ](https://msaied.com) [ Projects ](https://msaied.com/projects) [ Articles ](https://msaied.com/articles) [ Certificates ](https://msaied.com/certificates) [ Contact ](https://msaied.com#contact-section) 

  [ home ](https://msaied.com)    [ articles ](https://msaied.com/articles)    Notable: A Laravel Notes Package for Eloquent        On this page       1. [  Introduction ](#introduction)
2. [  Why Use Notable? ](#why-use-notable)
3. [  Key Features ](#key-features)
4. [  Installation ](#installation)
5. [  Quick Start ](#quick-start)
6. [  1. Add the Trait to Your Model ](#1-add-the-trait-to-your-model)
7. [  2. Add Notes to the Model ](#2-add-notes-to-the-model)
8. [  3. Retrieve Notes ](#3-retrieve-notes)
9. [  4. Check If a Model Has Notes ](#4-check-if-a-model-has-notes)
10. [  Complete Usage Guide ](#complete-usage-guide)
11. [  Adding Notes ](#adding-notes)
12. [  Retrieving Notes ](#retrieving-notes)
13. [  Date-Based Note Retrieval ](#date-based-note-retrieval)
14. [  Searching Notes ](#searching-notes)
15. [  Managing Notes ](#managing-notes)
16. [  Update a Note ](#update-a-note)
17. [  Delete a Note ](#delete-a-note)
18. [  Query Scopes ](#query-scopes)
19. [  Get Notes by Creator ](#get-notes-by-creator)
20. [  Get System Notes Without Creator ](#get-system-notes-without-creator)
21. [  Get Recent Notes ](#get-recent-notes)
22. [  Get Older Notes ](#get-older-notes)
23. [  Date-Based Scopes ](#date-based-scopes)
24. [  Filter Notes Between Dates ](#filter-notes-between-dates)
25. [  Search Note Content ](#search-note-content)
26. [  Combine Multiple Scopes ](#combine-multiple-scopes)
27. [  Database Schema ](#database-schema)
28. [  Configuration ](#configuration)
29. [  Advanced Examples ](#advanced-examples)
30. [  User Activity Log ](#user-activity-log)
31. [  Order Tracking ](#order-tracking)
32. [  Support Tickets ](#support-tickets)
33. [  Admin Panel Notes ](#admin-panel-notes)
34. [  Model Relationships ](#model-relationships)
35. [  Eager Loading Notes ](#eager-loading-notes)
36. [  Note Model Properties ](#note-model-properties)
37. [  Common Use Cases ](#common-use-cases)
38. [  Example Note Scenarios ](#example-note-scenarios)
39. [  Best Practices ](#best-practices)
40. [  Use Clear Note Text ](#use-clear-note-text)
41. [  Track the Creator When Possible ](#track-the-creator-when-possible)
42. [  Use Notes for Human-Readable Context ](#use-notes-for-human-readable-context)
43. [  Eager Load Notes When Needed ](#eager-load-notes-when-needed)
44. [  Contributing ](#contributing)
45. [  Bug Reports ](#bug-reports)
46. [  License ](#license)
47. [  Credits ](#credits)
48. [  Conclusion ](#conclusion)

  ![Notable: A Laravel Notes Package for Eloquent](https://cdn.msaied.com/29/01KT7MCCMPZQ59D2E4B5H01G2A.jpg)

 [  Laravel ](https://msaied.com/articles?category=laravel) [  Composer Pacakge ](https://msaied.com/articles?category=composer-pacakge) 

 Notable: A Laravel Notes Package for Eloquent 
===============================================

     3 Jun 2026      2 min read    ![Mohamed Said](https://cdn.msaied.com/01KT78WE565VEMM3PSNQAAB0MJ.jpg)  Mohamed Said  

       Table of contents

  48 sections  

1. [  01   Introduction  ](#introduction)
2. [  02   Why Use Notable?  ](#why-use-notable)
3. [  03   Key Features  ](#key-features)
4. [  04   Installation  ](#installation)
5. [  05   Quick Start  ](#quick-start)
6. [  06   1. Add the Trait to Your Model  ](#1-add-the-trait-to-your-model)
7. [  07   2. Add Notes to the Model  ](#2-add-notes-to-the-model)
8. [  08   3. Retrieve Notes  ](#3-retrieve-notes)
9. [  09   4. Check If a Model Has Notes  ](#4-check-if-a-model-has-notes)
10. [  10   Complete Usage Guide  ](#complete-usage-guide)
11. [  11   Adding Notes  ](#adding-notes)
12. [  12   Retrieving Notes  ](#retrieving-notes)
13. [  13   Date-Based Note Retrieval  ](#date-based-note-retrieval)
14. [  14   Searching Notes  ](#searching-notes)
15. [  15   Managing Notes  ](#managing-notes)
16. [  16   Update a Note  ](#update-a-note)
17. [  17   Delete a Note  ](#delete-a-note)
18. [  18   Query Scopes  ](#query-scopes)
19. [  19   Get Notes by Creator  ](#get-notes-by-creator)
20. [  20   Get System Notes Without Creator  ](#get-system-notes-without-creator)
21. [  21   Get Recent Notes  ](#get-recent-notes)
22. [  22   Get Older Notes  ](#get-older-notes)
23. [  23   Date-Based Scopes  ](#date-based-scopes)
24. [  24   Filter Notes Between Dates  ](#filter-notes-between-dates)
25. [  25   Search Note Content  ](#search-note-content)
26. [  26   Combine Multiple Scopes  ](#combine-multiple-scopes)
27. [  27   Database Schema  ](#database-schema)
28. [  28   Configuration  ](#configuration)
29. [  29   Advanced Examples  ](#advanced-examples)
30. [  30   User Activity Log  ](#user-activity-log)
31. [  31   Order Tracking  ](#order-tracking)
32. [  32   Support Tickets  ](#support-tickets)
33. [  33   Admin Panel Notes  ](#admin-panel-notes)
34. [  34   Model Relationships  ](#model-relationships)
35. [  35   Eager Loading Notes  ](#eager-loading-notes)
36. [  36   Note Model Properties  ](#note-model-properties)
37. [  37   Common Use Cases  ](#common-use-cases)
38. [  38   Example Note Scenarios  ](#example-note-scenarios)
39. [  39   Best Practices  ](#best-practices)
40. [  40   Use Clear Note Text  ](#use-clear-note-text)
41. [  41   Track the Creator When Possible  ](#track-the-creator-when-possible)
42. [  42   Use Notes for Human-Readable Context  ](#use-notes-for-human-readable-context)
43. [  43   Eager Load Notes When Needed  ](#eager-load-notes-when-needed)
44. [  44   Contributing  ](#contributing)
45. [  45   Bug Reports  ](#bug-reports)
46. [  46   License  ](#license)
47. [  47   Credits  ](#credits)
48. [  48   Conclusion  ](#conclusion)

       Notable Laravel Package: Add Notes to Any Eloquent Model
========================================================

**GitHub Repository:** 

Introduction
------------

Notable is a simple and powerful Laravel package that allows you to attach notes to any Eloquent model using polymorphic relationships.

It is useful for applications that need internal comments, admin notes, activity logs, support ticket updates, audit notes, customer feedback, or any type of text annotation connected to a model.

Instead of building a custom notes system for every model, Notable gives you a reusable trait-based solution that works with users, orders, invoices, tickets, products, bookings, and more.

Why Use Notable?
----------------

Many Laravel applications need a way to store extra information about records. For example, an admin may need to leave a note on a customer account, a support agent may need to add updates to a ticket, or a staff member may need to track changes on an order.

Notable solves this by giving you a clean and flexible way to attach notes to any model without duplicating database tables or logic.

Key Features
------------

- Attach notes to any Eloquent model
- Polymorphic relationships for flexible model support
- Optional creator tracking for each note
- Creator tracking also supports polymorphic models
- Automatic `created_at` and `updated_at` timestamps
- Simple trait-based integration
- Useful query scopes for filtering notes
- Search notes by text content
- Retrieve notes by date, creator, or time range
- Configurable table name
- Built for modern Laravel applications
- Ideal for admin panels, CRMs, support systems, and internal tools

Installation
------------

Install the package using Composer:

```bash
composer require eg-mohamed/notable

```

Publish and run the migrations:

```bash
php artisan vendor:publish --tag=notable-migrations
php artisan migrate

```

Optionally, publish the configuration file:

```bash
php artisan vendor:publish --tag=notable-config

```

Quick Start
-----------

### 1. Add the Trait to Your Model

```php
