Close Menu
    DevStackTipsDevStackTips
    • Home
    • News & Updates
      1. Tech & Work
      2. View All

      Sunshine And March Vibes (2025 Wallpapers Edition)

      May 16, 2025

      The Case For Minimal WordPress Setups: A Contrarian View On Theme Frameworks

      May 16, 2025

      How To Fix Largest Contentful Paint Issues With Subpart Analysis

      May 16, 2025

      How To Prevent WordPress SQL Injection Attacks

      May 16, 2025

      Microsoft has closed its “Experience Center” store in Sydney, Australia — as it ramps up a continued digital growth campaign

      May 16, 2025

      Bing Search APIs to be “decommissioned completely” as Microsoft urges developers to use its Azure agentic AI alternative

      May 16, 2025

      Microsoft might kill the Surface Laptop Studio as production is quietly halted

      May 16, 2025

      Minecraft licensing robbed us of this controversial NFL schedule release video

      May 16, 2025
    • Development
      1. Algorithms & Data Structures
      2. Artificial Intelligence
      3. Back-End Development
      4. Databases
      5. Front-End Development
      6. Libraries & Frameworks
      7. Machine Learning
      8. Security
      9. Software Engineering
      10. Tools & IDEs
      11. Web Design
      12. Web Development
      13. Web Security
      14. Programming Languages
        • PHP
        • JavaScript
      Featured

      The power of generators

      May 16, 2025
      Recent

      The power of generators

      May 16, 2025

      Simplify Factory Associations with Laravel’s UseFactory Attribute

      May 16, 2025

      This Week in Laravel: React Native, PhpStorm Junie, and more

      May 16, 2025
    • Operating Systems
      1. Windows
      2. Linux
      3. macOS
      Featured

      Microsoft has closed its “Experience Center” store in Sydney, Australia — as it ramps up a continued digital growth campaign

      May 16, 2025
      Recent

      Microsoft has closed its “Experience Center” store in Sydney, Australia — as it ramps up a continued digital growth campaign

      May 16, 2025

      Bing Search APIs to be “decommissioned completely” as Microsoft urges developers to use its Azure agentic AI alternative

      May 16, 2025

      Microsoft might kill the Surface Laptop Studio as production is quietly halted

      May 16, 2025
    • Learning Resources
      • Books
      • Cheatsheets
      • Tutorials & Guides
    Home»Development»Use the New Fluent Helper to Work With Multi-dimensional Arrays in Laravel 11.2

    Use the New Fluent Helper to Work With Multi-dimensional Arrays in Laravel 11.2

    April 3, 2024

    This week, the Laravel team released v11.2, which includes a fluent() support helper, a context() helper, improved handling of a missing database during a migrate operation, and more.

    Fluent Helper

    Philo Hermans contributed a fluent() helper function when working with multi-dimensional arrays. The Fluent class has been in the Laravel framework for quite a while; however, this PR introduces a helper convenience method to create a fluent object instance:

    $data = [
    ‘user’ => [
    ‘name’ => ‘Philo’,
    ‘address’ => [
    ‘city’ => ‘Amsterdam’,
    ‘country’ => ‘Netherlands’,
    ]
    ],
    ‘posts’ => [
    [
    ‘title’ => ‘Post 1’,
    ],
    [
    ‘title’ => ‘Post 2’,
    ]
    ]
    ];

    collect($data)->get(‘user’);
    fluent($data)->user;

    collect($data)->get(‘user’)[‘name’];
    fluent($data)->get(‘user.name’);

    collect(collect($data)->get(‘posts’))->pluck(‘title’);
    fluent($data)->collect(‘posts’)->pluck(‘title’);

    json_encode(collect($data)->get(‘user’)[‘address’]);
    fluent($data)->scope(‘user.address’)->toJson();

    Context Helper

    Michael Nabil contributed a convenience context() helper function for managing Context. Depending on the arguments passed, you can either add to context, get the context object, or retrieve it (with an optional custom default):

    // Add user information to the context
    context([‘user’ => auth()->user()]);

    // Retrieve the context object
    $context = context();

    // Retrieve user information from the context
    $user = context(‘user’);

    // Optional custom default value if not found.
    $some_key = context(‘key_that_does_not_exist’, false);

    Default Value for Context Getters

    Michael Nabil contributed support for a default value on Context getters:

    // Before: Returns null if not found
    Context::get(‘is_user’);
    Context::getHidden(‘is_user’);

    // After: Returns `false` if not found
    Context::get(‘is_user’, false); // false
    Context::getHidden(‘is_user’, false); // false
    Context::get(‘is_user’); // null

    Job Chain Test Assertion Methods

    Günther Debrauwer contributed assertHasChain() and assertDoesntHaveChain() methods:

    public function test_job_chains_foo_bar_job(): void
    {
    $job = new TestJob();

    $job->handle();

    $job->assertHasChain([
    new FooBarJob();
    ]);

    // $job->assertDoesntHaveChain();
    }

    Better database creation/wipe handling

    Dries Vints contributed better database failure handing (#50836) when running migrate when a database isn’t created yet, as well as updating the migrate:fresh command to streamline the process when a database does not exist #50838:

    If the migrate:fresh command is called while there isn’t any database created yet, it’ll fail when it tries to wipe the database. This PR fixes this by first checking if the migrations table exists and if not, immediately go to the migrate command by skipping the db:wipe command. This will invoke the migrate command flow and subsequently will reach the point where the command will ask the user to create the database.

    In combination with #50836 this will offer a more seamless experience for people attempting to install Jetstream through the Laravel installer and choosing to not create the database.

    The above description is taken from Pull Request #50838.

    String Trim Removes Invisible Characters

    Dasun Tharanga contributed an update to the framework TrimStrings middleware, where invisible characters are not trimmed during an HTTP request, which can cause issues when submitting forms. See Pull Request #50832 for details.

    Release notes

    You can see the complete list of new features and updates below and the diff between 11.1.0 and 11.2.0 on GitHub. The following release notes are directly from the changelog:

    v11.2.0

    [11.x] Fix: update [@param](https://github.com/param) in some doc block by @saMahmoudzadeh in https://github.com/laravel/framework/pull/50827

    [11.x] Fix: update @return in some doc blocks by @saMahmoudzadeh in https://github.com/laravel/framework/pull/50826

    [11.x] Fix retrieving generated columns on legacy PostgreSQL by @hafezdivandari in https://github.com/laravel/framework/pull/50834

    [11.x] Trim invisible characters by @dasundev in https://github.com/laravel/framework/pull/50832

    [11.x] Add default value for get and getHidden on Context by @michaelnabil230 in https://github.com/laravel/framework/pull/50824

    [11.x] Improves serve Artisan command by @nunomaduro in https://github.com/laravel/framework/pull/50821

    [11.x] Rehash user passwords when logging in once by @axlon in https://github.com/laravel/framework/pull/50843

    [11.x] Do not wipe database if it does not exists by @driesvints in https://github.com/laravel/framework/pull/50838

    [11.x] Better database creation failure handling by @driesvints in https://github.com/laravel/framework/pull/50836

    [11.x] Use Default Schema Name on SQL Server by @hafezdivandari in https://github.com/laravel/framework/pull/50855

    Correct typing for startedAs and virtualAs database column definitions by @ollieread in https://github.com/laravel/framework/pull/50851

    Allow passing query Expression as column in Many-to-Many relationship by @plumthedev in https://github.com/laravel/framework/pull/50849

    [11.x] Fix Middleware::trustHosts(subdomains: true) by @axlon in https://github.com/laravel/framework/pull/50877

    [11.x] Modify doc blocks for getGateArguments by @saMahmoudzadeh in https://github.com/laravel/framework/pull/50874

    [11.x] Add [@throws](https://github.com/throws) to doc block for resolve method by @saMahmoudzadeh in https://github.com/laravel/framework/pull/50873

    [11.x] Str trim methods by @patrickomeara in https://github.com/laravel/framework/pull/50822

    [11.x] Add fluent helper by @PhiloNL in https://github.com/laravel/framework/pull/50848

    [11.x] Add a new helper for context by @michaelnabil230 in https://github.com/laravel/framework/pull/50878

    [11.x] assertChain and assertNoChain on job instance by @gdebrauwer in https://github.com/laravel/framework/pull/50858

    [11.x] Remove redundant getDefaultNamespace method in some classes (class, interface and trait commands) by @saMahmoudzadeh in https://github.com/laravel/framework/pull/50880

    [11.x] Remove redundant implementation of ConnectorInterface in MariaDbConnector by @saMahmoudzadeh in https://github.com/laravel/framework/pull/50881

    [11.X] Fix: error when using orderByRaw in query before using cursorPaginate by @ngunyimacharia in https://github.com/laravel/framework/pull/50887

    The post Use the New Fluent Helper to Work With Multi-dimensional Arrays in Laravel 11.2 appeared first on Laravel News.

    Join the Laravel Newsletter to get all the latest Laravel articles like this directly in your inbox.

    Source: Read More 

    Facebook Twitter Reddit Email Copy Link
    Previous ArticleGoogle Cloud Appoints Security Leader Noor Al-Sulaiti to Head META Region
    Next Article Google Chrome Beta Tests New DBSC Protection Against Cookie-Stealing Attacks

    Related Posts

    Machine Learning

    Salesforce AI Releases BLIP3-o: A Fully Open-Source Unified Multimodal Model Built with CLIP Embeddings and Flow Matching for Image Understanding and Generation

    May 16, 2025
    Security

    Nmap 7.96 Launches with Lightning-Fast DNS and 612 Scripts

    May 16, 2025
    Leave A Reply Cancel Reply

    Continue Reading

    New Stealthy BabbleLoader Malware Spotted Delivering WhiteSnake and Meduza Stealers

    Development

    Intelligent healthcare assistants: Empowering stakeholders with personalized support and data-driven insights

    Machine Learning

    The Impact of UI/UX Design on Usability

    Development

    Rilasciato GNOME 48 Alpha: Prime Novità e Miglioramenti per l’Ambiente Desktop GNU/Linux

    Linux
    Hostinger

    Highlights

    Development

    State-Sponsored Hackers Weaponize ClickFix Tactic in Targeted Malware Campaigns

    April 17, 2025

    Multiple state-sponsored hacking groups from Iran, North Korea, and Russia have been found leveraging the…

    Reimagining user experience of links in Markdown

    January 7, 2025

    Why Hardsec Matters: From Protecting Critical Services to Enhancing Resilience

    August 13, 2024

    Slim – PHP micro framework

    February 13, 2025
    © DevStackTips 2025. All rights reserved.
    • Contact
    • Privacy Policy

    Type above and press Enter to search. Press Esc to cancel.