https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_b964594d3d957944241961017b9eb19bf02834de44cce93d8e67dd306852dbe346167181e455e33d5268ea01d973d77bb056848546f31794f31a4c31a9da5aa3.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_09f62869dbd00446535ebe8e270406331e6f0ae459deba58094caeadc22d58825ffc99f8c217b496ec112cbb1da8b662d77b0f52eae24cc5631f95695e40d87b.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_e6b7e0bf68aa4a61d5c6a0065ec42e38a0cc53e39a4fbee057b72d4b2297b37c01e716e1e61bac7f240b5a0edbb178d37b62f7ed4ea4ea3d10e46dbe7429f326.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_bfff9e63e857e9ee612e292d4a6edf3ced64d6a756925c953a9d8f77845ff601eca64d73dfa48756b1a9f4a4d6de6127a273bcde16ddeb71a22383460f4e94b0.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_f4dd7e1d73ae5eda35ed5ad6aa965b612dbf483ece3ca50c1e8e30ad8dff1c66a160ed75e958e2db399661d229874783e0834ad813a479437035666b8e9e3386.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_4fce0769137d4cd096989b0349bc3c2bbfca79ac311fdf714c41ab24d87551c7b49b756c8a8de090b0714a0ad0560e49fa532ba5a88875ea4afd78efac464df6.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_85cec8b07d60426b11040e471babca0d2f9c8dc87a9b56e06cad39828f7f67179e29609100f282a574872c9a93fb635b25416300eb4c97bc5a653d00cf6f8dbf.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_6768e5a27d4d357347338621c0d20bd269b126d30eec796193390f2f530fbaea60af84130c46f9786114be65149e661e87d55c339219c90aa76396d7e5b734ef.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_2acd6bdff3b680341e8c727da5169a647123eb8fd0a90253161b4c3af272c15d293bf9bb217008bb13f84d1910b0e166798001f8603b6c026d5c20a76c41d47c.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_612660570f71558f97549b4194904ced3002cba1af182fe7c3da1d49495baa6ce12d01ce7e27251d25955b90b4f71c17a9f9c32429b30de0adb40621054e8245.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_268c9bba6ba649318f0da28c37b09a9bbfa371210f9b6b52faa7fd8ae94abf6b3c3bfeb5df5705c93495ce1152ca58aeabc435d6c6c1bd959025165c3f50e086.js
  • Skip to main content
  • Skip to primary sidebar
  • Skip to footer
  • Home
  • Featured
    • Advanced Python Topics
    • AWS Learning Roadmap
    • JWT Complete Guide
    • Git CheatSheet
  • Explore
    • Programming
    • Development
      • microservices
      • Front End
    • Database
    • DevOps
    • Productivity
    • Tutorial Series
      • C# LinQ Tutorials
      • PHP Tutorials
  • Dev Tools
    • JSON Formatter
    • Diff Checker
    • JWT Decoder
    • JWT Generator
    • Base64 Converter
    • Data Format Converter
    • QR Code Generator
    • Javascript Minifier
    • CSS Minifier
    • Text Analyzer
  • About
  • Contact
CodeSamplez.com

CodeSamplez.com

Programming And Development Resources

You are here: Home / Database / Doctrine Native SQL Query: A Complete Guide

Doctrine Native SQL Query: A Complete Guide

Updated May 20, 2025 by Rana Ahsan 2 Comments ⏰ 7 minutes

doctrine native sql query

Let’s face it, sometimes you’re stuck between a rock and a hard place with your database operations. I’ve been there countless times myself! While PHP Doctrine ORM is fantastic for most database interactions, there are situations where you absolutely need to fall back to Doctrine native query.

I’m not encouraging you to abandon Doctrine’s ORM, DBAL, or DQL implementations—they’re powerful tools designed to make your life easier. But trust me, you’ll eventually encounter scenarios where good old raw SQL queries become your only viable option.

In this comprehensive guide, I’ll walk you through everything you need to know about using doctrine native query functionality, complete with practical code examples you can implement right away.

When Native SQL Queries Become Essential

I recently faced a challenging situation that perfectly illustrates when native queries become necessary. My application was running with a stable database schema when we needed to implement significant refactoring that involved modifying entity structures by adding and removing columns.

The tricky part? The application was already live, and we needed to migrate existing data to the new schema structure. I couldn’t use Doctrine’s ORM approach because our entities had already been updated to match the new schema, making them incompatible with the old database structure.

This is exactly where doctrine native query support saved the day! I could retrieve data from the old database structure using raw SQL, then transform and insert it into the new tables.

Other scenarios where native queries prove invaluable include:

  • Complex performance-critical queries where the ORM overhead is too significant
  • Database-specific features not supported by Doctrine’s abstraction layer
  • Legacy database integration where mapping to entities isn’t practical
  • Bulk operations where performance is paramount
  • Complex reports requiring specialized SQL functions

Getting Started with Doctrine Native SQL Queries

Step 1: Access the Database Connection from Entity Manager

The first step is accessing the database connection object from your entity manager. Here’s how to do it:

// Get the connection object from your existing entity manager
$connection = $entityManager->getConnection();Code language: PHP (php)

If you don’t already have an entity manager set up, here’s a complete initialization example:

// Basic Doctrine setup
$config = new \Doctrine\ORM\Configuration;

// Cache configuration
$cache = new \Doctrine\Common\Cache\ArrayCache; // For production, use APC or Redis
$config->setMetadataCacheImpl($cache);
$config->setQueryCacheImpl($cache);
$config->setResultCacheImpl($cache);

// Proxy configuration
$config->setProxyDir(__DIR__ . '/Proxies');
$config->setProxyNamespace('Proxies');
$config->setAutoGenerateProxyClasses(true);

// Mapping configuration
$driverImpl = $config->newDefaultAnnotationDriver(__DIR__ . '/Entity');
$config->setMetadataDriverImpl($driverImpl);

// Database connection parameters
$connectionOptions = array(
    'dbname' => 'your_database',
    'user' => 'your_username',
    'password' => 'your_password',
    'host' => 'localhost',
    'driver' => 'pdo_mysql',
);

// Create the EntityManager
$entityManager = \Doctrine\ORM\EntityManager::create($connectionOptions, $config);

// Now get the connection object
$connection = $entityManager->getConnection();Code language: PHP (php)

In most applications, you’ll already have the entity manager available through your framework or dependency injection container, so you can skip directly to getting the connection.

Step 2: Prepare and Execute Raw SQL Queries

Once you have the connection object, you can prepare and execute native SQL statements:

// Prepare an SQL statement
$statement = $connection->prepare("SELECT * FROM users WHERE status = 'active'");

// Execute the prepared statement
$statement->execute();Code language: PHP (php)

This approach works for any SQL statement type—SELECT, INSERT, UPDATE, or DELETE.

Step 3: Working with Query Results

For SELECT queries, you’ll need to fetch the returned data:

// Fetch all results as an associative array
$allResults = $statement->fetchAll();

// Or fetch just a single row
$singleRow = $statement->fetch();

// Get the total number of rows returned
$rowCount = $statement->rowCount();Code language: PHP (php)

You can also use more specific fetch methods:

// Fetch results as indexed arrays instead of associative arrays
$indexedResults = $statement->fetchAll(\PDO::FETCH_NUM);

// Fetch results as both indexed and associative arrays
$mixedResults = $statement->fetchAll(\PDO::FETCH_BOTH);

// Fetch a specific column from all rows
$columnValues = $statement->fetchAll(\PDO::FETCH_COLUMN, 0); // 0 is the column indexCode language: PHP (php)

Simplified CRUD Operations with Doctrine Native Queries

Doctrine provides convenient shorthand methods for common CRUD operations, which are much cleaner than writing raw SQL:

Insert Operations

// Insert data using an associative array
$connection->insert('users', [
    'username' => 'johndoe',
    'email' => '[email protected]',
    'created_at' => new \DateTime(),
]);Code language: PHP (php)

Update Operations

// Update records matching the identifier
$connection->update('users', 
    // Data to update
    [
        'status' => 'inactive',
        'updated_at' => new \DateTime(),
    ],
    // Identifier/WHERE condition
    [
        'id' => 123
    ]
);Code language: PHP (php)

Delete Operations

// Delete records matching the identifier
$connection->delete('users', ['id' => 123]);Code language: PHP (php)

Using Parameters in Doctrine Native Queries

For better security and to prevent SQL injection, always use parameterized queries:

// Using named parameters
$statement = $connection->prepare("SELECT * FROM users WHERE status = :status AND role = :role");
$statement->bindValue('status', 'active');
$statement->bindValue('role', 'admin');
$statement->execute();

// Or using positional parameters
$statement = $connection->prepare("SELECT * FROM users WHERE status = ? AND role = ?");
$statement->bindValue(1, 'active');
$statement->bindValue(2, 'admin');
$statement->execute();Code language: PHP (php)

You can also pass parameters directly during execution:

$statement = $connection->prepare("SELECT * FROM users WHERE status = :status");
$statement->execute(['status' => 'active']);Code language: PHP (php)

Running Transactions in Doctrine Native Query Mode

For operations requiring multiple queries as part of a single transaction, Doctrine provides an elegant solution:

$connection->transactional(function($connection) {
    // All these operations happen in a single transaction
    $connection->insert('orders', ['customer_id' => 123, 'total' => 99.99]);
    $connection->insert('order_items', ['order_id' => $connection->lastInsertId(), 'product_id' => 456]);
    $connection->update('inventory', ['stock' => 10], ['product_id' => 456]);
});Code language: PHP (php)

If any operation fails, the transaction is automatically rolled back, maintaining database integrity.

For more control, you can manually manage transactions:

try {
    // Start transaction
    $connection->beginTransaction();
    
    // Execute multiple operations
    $connection->insert('orders', ['customer_id' => 123]);
    $connection->insert('order_items', ['order_id' => $connection->lastInsertId()]);
    
    // Commit if all operations succeeded
    $connection->commit();
} catch (\Exception $e) {
    // Roll back on any error
    $connection->rollBack();
    throw $e;
}Code language: PHP (php)

Advanced Usage: Working with Large Result Sets

When dealing with large result sets, it’s more memory-efficient to process rows one at a time:

$statement = $connection->prepare("SELECT * FROM large_table");
$statement->execute();

while ($row = $statement->fetch()) {
    // Process each row individually
    processRow($row);
}Code language: PHP (php)

This approach prevents loading the entire result set into memory at once.

Performance Optimization Tips for Doctrine Native Queries

When working with native queries, keep these performance optimization tips in mind:

  1. Use indexed fields in your WHERE clauses for optimal query execution
  2. Limit the columns you select to only what you need
  3. Batch operations when performing multiple inserts or updates
  4. Use transactions for related operations to reduce overhead
  5. Consider pagination for large result sets using LIMIT and OFFSET

Common Pitfalls to Avoid

While native queries are powerful, there are some common mistakes to avoid:

  1. SQL injection vulnerabilities – Always use parameterized queries
  2. Database portability issues – Native SQL may not work across different database systems
  3. Maintenance overhead – Native queries don’t automatically adapt to schema changes
  4. Inconsistent data handling – You bypass Doctrine’s data validation and lifecycle events

Real-World Example: Batch Data Migration

Let’s look at a complete example of using native queries for batch data migration:

// Get connections to both databases
$oldConnection = $oldEntityManager->getConnection();
$newConnection = $newEntityManager->getConnection();

// Retrieve data from old schema
$statement = $oldConnection->prepare("SELECT id, name, email FROM old_users");
$statement->execute();
$oldUsers = $statement->fetchAll();

// Begin transaction on new database
$newConnection->transactional(function($connection) use ($oldUsers) {
    foreach ($oldUsers as $user) {
        // Transform data as needed for new schema
        $userData = [
            'username' => $user['name'],
            'email' => $user['email'],
            'created_at' => new \DateTime(),
            'status' => 'active'
        ];
        
        // Insert into new schema
        $connection->insert('users', $userData);
        
        // Store mapping between old and new IDs if needed
        $newId = $connection->lastInsertId();
        $connection->insert('id_mapping', [
            'old_id' => $user['id'],
            'new_id' => $newId,
            'entity_type' => 'user'
        ]);
    }
});Code language: PHP (php)

When to Return to ORM After Using Native Queries

While native queries are useful in specific scenarios, remember to return to using Doctrine’s ORM, DBAL, or DQL for most operations. The ORM provides many benefits:

  • Automatic handling of entity relationships
  • Database abstraction and portability
  • Change tracking and dirty checking
  • Object-oriented approach to data manipulation
  • Built-in caching mechanisms

Conclusion: Balancing Native Queries and ORM

Doctrine native query support provides a powerful escape hatch when you need to go beyond the capabilities of the ORM. I’ve found it invaluable for data migrations, performance optimization, and working with legacy systems.

Remember that native SQL queries should be your exception, not your rule. The goal is to leverage the best tool for each specific job—sometimes that’s Doctrine’s ORM abstraction, and other times it’s the raw power of SQL. Checkoiut official documentation to learn more.

Have you faced challenges with Doctrine that required native SQL queries? Share your experiences in the comments below!

Share if liked!

  • Click to share on Facebook (Opens in new window) Facebook
  • Click to share on X (Opens in new window) X
  • Click to share on LinkedIn (Opens in new window) LinkedIn
  • Click to share on Pinterest (Opens in new window) Pinterest
  • Click to share on Reddit (Opens in new window) Reddit
  • Click to share on Tumblr (Opens in new window) Tumblr
  • Click to share on Pocket (Opens in new window) Pocket

You may also like


Discover more from CodeSamplez.com

Subscribe to get the latest posts sent to your email.

First Published On: April 21, 2013 Filed Under: Database Tagged With: doctrine, mysql, php

About Rana Ahsan

Rana Ahsan is a seasoned software engineer and technology leader specialized in distributed systems and software architecture. With a Master’s in Software Engineering from Concordia University, his experience spans leading scalable architecture at Coursera and TopHat, contributing to open-source projects. This blog, CodeSamplez.com, showcases his passion for sharing practical insights on programming and distributed systems concepts and help educate others.
Github | X | LinkedIn

Reader Interactions

Comments

  1. Mr JiJo says

    April 24, 2019 at 6:38 AM

    Thanksssssssssssssssssssssssssssssssssa lot brother you don’t know how it could help me ! BDW thank you sooo much !! i just got logic and edited my query ! after 4hrs i found solution from ur blog ! (Y) appreciated !

    Reply

Trackbacks

  1. Doctrine CRUD Operation Tutorial With PHP Code Examples says:
    December 1, 2024 at 5:35 PM

    […] CRUD operations tutorial helps you learn Doctrine better. If you liked this, why not check out how you can execute a native SQL query while using Doctrine ORM? Very soon, I plan to write a few more tutorials on Doctrine covering […]

    Reply

Leave a ReplyCancel reply

Primary Sidebar

  • Facebook
  • X
  • Pinterest
  • Tumblr

Subscribe via Email

Top Picks

python local environment setup

Python Local Development Environment: Complete Setup Guide

In-Depth JWT Tutorial Guide For Beginners

JSON Web Tokens (JWT): A Complete In-Depth Beginners Tutorial

The Ultimate Git Commands CheatSheet

Git Commands Cheatsheet: The Ultimate Git Reference

web development architecture case studies

Web Development Architecture Case Studies: Lessons From Titans

static website deployment s3 cloudfront

Host Static Website With AWS S3 And CloudFront – Step By Step

Featured Dev Tools

  • JSON Formatter
  • JWT Decoder

Recently Published

python file handling

Python File Handling: A Beginner’s Complete Guide

service worker best practices

Service Worker Best Practices: Security & Debugging Guide

advanced service worker features

Advanced Service Worker Features: Push Beyond the Basics

service worker framework integration

Service Workers in React: Framework Integration Guide

service worker caching strategies

Service Worker Caching Strategies: Performance & Offline Apps

Footer

Subscribe via Email

Follow Us

  • Facebook
  • X
  • Pinterest
  • Tumblr

Demos

  • Demo.CodeSamplez.com

Explore By Topics

Python | AWS | PHP | C# | Javascript

Copyright © 2025

https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_24560e93c4bf75097ce212a29a12ac97d4f93f64158e8ea74609f37a1f0364b4fa9f840918cbba35306051b2828e6d7c2ff07c2e79a6fb031cc545f3a39b8c3c.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_c402e38f1879c18090377fb6b73b15ac158be453ecda3a54456494fe8aba42b990c293bae5424e5643d52515ffc2067e0819995be8d07d5bba9107a96780775c.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_ffc3511227531cc335353c54c3cbbaa11d0b80e5cb117478e144436c13cd05495b67af2e8950480ed54dbdabcdcef497c90fdb9814e88fe5978e1d56ce09f2cf.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_d57da9abfef16337e5bc44c4fc6488de258896ce8a4d42e1b53467f701a60ad499eb48d8ae790779e6b4b29bd016713138cd7ba352bce5724e2d3fe05d638b27.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_d286e50977f467ebee8fecdcb44e6a6b9a29f2b911dfe58b30ff4f0545aa2b19bca73246e23de9a6d2380bf20e6b8a001b5ba2051042d104c6d411b474fd3368.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_556272a5f9c5e1b26dcf93c48dd6c60d2107db888f97b70498f312c9052331e10005db30e1259f325d650689883af8e7250f282b512037503c7b7dcf03bef034.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_dccc492dbbfdac33d1411f9df909e849c7268fcf99b43007f278cde3a0adc0ae00e8cae5ec81cf255b9a6eae74e239ba1fa935572af77173219cb081f7d2327d.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_00bacf9e36181aac2b666d110cd9d82257f846766e7041b2d7b3c909b458982931ccc9b203e37098fbdfcf43ca359cf04e3824a724a6789fc204196d3a72ad29.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_7380b35c2ea228c7806523b9049d0a861543a375a91ba29580b5add01ff51e19758b4fcf8d19f63f69ea8983abbcea66f2c5c859d58a8413d6e12d85e302f8fd.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_68b6d1949e90b6a37c5195ae17874e7c2455352144f28a76be0f68f7a941e6d664fa3c931485f2c5463521acdac05ff6642f0c94fa557a087caa9478d162f085.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_bb8058a9e234a7ffaa98891b1df7f6b8e67410e6984568b151daa05113b8c7f89d7b5918ae73f020998a16f7f5a087a13d6a9a5e5d7c301e2ca12fd9d1f8d177.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_647fb67570c6108fb10ae6785a1abdbecac99ffcf80351d0bef17c3cf783dce497b1895fcdaae997dacc72c359fbfb128cc1540dd7df56deb4961e1cd4b22636.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_f7a298a0f1f754623fe3b30f6910ce2c1373f715450750bd7a391571812b00df1917e2be90df6c4efc54dbdfda8616278a574dea02ba2c7a31992768df8db334.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_df30604d5842ef29888c3c1881220dc6d3f8854666d94f0680c5f38aa643c5fb79b10eb9f10998d8856eb24ca265783195937434fd6c2bb8e4846df0277a7fb7.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_f17fe6fb0993f1703181d7ae9e9ea570f3d33a43afd6f2a4567daa1a6745698c7b8193dc72d50991d2dd87cd3dcf663959206607d193a9b57926d061a1f50aef.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_945dcbab2c2a131f3c90f4fb91776b76066d589f84fb55bff25cd5d79a56218000616bfca1f0af9a74f32348693707af49e8fe624de8aa34f1e1c5b6a25709cf.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_65820d252e1b93596de6697fd5f02483f3e2524a0696c7d698b64745edb32bf5831a90e556842f5f88c8209766cc78ca3a41cf783d20236a9f90d4a7ea7b3e72.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_7286884797a1210857e2a36f8ab46604b0034b6abf512380447a5763c873db6a72b8547f660053de0ea69faef1eb64878f39ff4b0ea86c963efab95764a3bf5b.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_cbcf6c279ac6c6a25ae138bf964e64a5fd90d22dcdf8a53b6fe7b72cefa51063bfb0181a6e50dd2acdcae2795619887d1d83b10461e44e5103be756f2588d837.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_47965bc586b95810c925b9df3314e0c9a5cd121e70ca0831f87df0bc034695de4f83ecf2def86f737e14614ee138794473cf32cd3082a5d38db9dec0c1f266fa.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_12aa201cea075846d266536aa222d64d4088b851d87f55dac5e611b77add6826c8ebc6e82650fcd1a9e88a05a0072dedd195719c5f64cd4580a0acd8aee05d92.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_80a4a4c808f46b20177fec8ee1a931010e5d14047c467a7f976cb5b2529b569eeb61558804f2f1a2d2a2347a1e2041500c1b275b1b4c31bbb4b36d8b4183b2b6.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_868fa1974a2b0bf3f45c075947460d63dcc17689661b4e513f9cea55a03ca947d9b1ac8d8a0d30242f33ef7938d5d99f1ff49b27d7434d5fe5bb4b75890cc3c5.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_d87ea86dd0e7ecdd5fe7a5bb67becf943e57c3add866b456034d51663d099031bd563e12f61fdccc044969adf938a8584ed22ccd401ab8b669e20e4f92fb54e8.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_35311c3d71a3605fad4e1d6b50f3911311cdcc46418bdf56d6d0308a75a69585269ee7582a335e29989adf308fa1a81a10a2c2d4e257e9d680447a4996f6269e.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_f4fc182ef03c12e9dcadd6febc3dbaa4a29134469057ca9e8ec0be2f2de29a494514ff4b59798e74debf26f78b2df2b3e2665c69b77035761fb463b783202915.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_85c0f2769456e60153b0fd8364b82a035da53384f62de342d9bdca806f3f1ea56486919a00497a18d457949c82bf8bfacc4423fc332074ddf71a49a8fe628fff.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_1b7e49e98f5960d71636812e807832cc98a24f48bc493652ddb2f9c4ce08bc89a8fd5d9550a8e2887d1d8887ce02924a878361c296d21ceba18a56f3ace130bd.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_09eecfdd96206ed13830b4b93cfb2cc75cd38083671a34194437b5734b5bb38712209dc335b07e3266ceb3c3a44a155b9bbe5f3e0e1105b19dd45d3def76f020.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_4c089fbdb88e3b624a6f884d3ba1bf606f003bfcd3742376d0d353cd62181dc663aa3811a56361c3100de488fc4d6595a50de2b26f058921ba74f5f2c1b5be00.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_897ff6ac314c5f5e0f496c6af624bd9abf296a02cb5aeb850b9220b6dc3ce2fc4004cb02ed8b59d59d4b9c9d90f050d6eebc1d08ecaebab2f671f7d9367e6410.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_67d1e619e71d36ae00ddcf85ee18628bb4eb64fcb3d6119b463e75cb987013420a21136d19cd03e6634ccc01cfa9af4a357930e4cf6900953b7812efb4f249fb.js