Be part of JetBrains PHPverse 2026 on June 9 โ€“ a free online event bringing PHP devs worldwide together.

LaramanCode's avatar

LaramanCode wrote a comment+100 XP

1d ago

Everything New in Livewire 4: Ep 12, Slots

๐ŸŒŸ Code by Lesson Instructor ---- ๐Ÿ‘‰ Githu Repo ๐Ÿ‘ˆ


Options about de lazy load and slots. (See @stephangadzhev 's comment here )

๐Ÿ’ซ First Option. (CSS) -- ๐Ÿ‘‰ Githu Repo Tag ๐Ÿ‘ˆ
โญ Second Option ---- ๐Ÿ‘‰ Githu Repo Tag ๐Ÿ‘ˆ
LaramanCode's avatar

LaramanCode wrote a comment+100 XP

1d ago

Everything New in Livewire 4: Ep 12, Slots

@StephanGadzhev I think that in this case, the checkbox is being used for illustrative purposes. I've been looking for information, and all of it suggests either placing the checkbox outside the slot or removing lazy loadingโ€”which, of course, leads to another problem: communication between the card and its parent container to pass the value so that the values within the $selected array can be updated.

One clever solution I found involved placing the checkbox outside the $slot and then using the CSS absolute property to position it where desired.

Another solution is to use more code with dispatch and the on attribute.

๐Ÿ’ซ First Option. (CSS) -- ๐Ÿ‘‰ Githu Repo Tag ๐Ÿ‘ˆ
<!-- pages/post/โšกindex.blade.php -->
@foreach($this->posts as $post)
<div class="relative">
    <livewire:pages::post.card
        :post="$post"
        :wire:key="$post->id"
        :lazy.bundle="$loop->iteration > 9"
    />

    <div class="absolute top-3 left-3 z-10">
        <flux:checkbox
            class="mt-0! cursor-pointer"
            wire:model.live="selected"
            value="{{ $post->id }}"
            wire:key="select-{{ $post->id }}"
        />
    </div>
</div>
@endforeach
โญ Second Option ---- ๐Ÿ‘‰ Githu Repo Tag ๐Ÿ‘ˆ
LaramanCode's avatar

LaramanCode liked a comment+100 XP

1d ago

Everything New in Livewire 4: Ep 12, Slots

On the initial render, elements that are over the first using :lazy.bundle="$loop->iteration > 9" do not include the checkbox while loading. This happens because the card component is not present during the initial load. When the lazy-loaded component finishes loading, the <flux:checkbox wire:model="selectedBookings" :value="$booking->id" /> still does not appear because it was never part of the initial DOM. I see that in the video is the same. if you scroll down you will see that the checkbox are missing.

What is the correct way to handle this so the checkbox reliably appears once the lazy-loaded component is loaded?

LaramanCode's avatar

LaramanCode wrote a comment+100 XP

1d ago

Everything New in Livewire 4: Ep 11, Forwarding Attributes

Here you have the Github repo - Chapter 11 - Forwarding Attributes for anyone who wants it, there is some aesthetic variations

LaramanCode's avatar

LaramanCode wrote a comment+100 XP

1d ago

Everything New in Livewire 4: Ep 10, Bundling Lazy Requests

Here you have the Github repo for anyone who wants it, there is some aesthetic variations

LaramanCode's avatar

LaramanCode liked a comment+100 XP

2d ago

Laravel From Scratch (2026 Edition): Ep 25, Tailwind Theme Setup And Initial UI

@lara_dev_1970 hi. I searched the github repo https://github.com/laracasts/Tweety/tree/master and couldn't find the code for this episode. Seems like they had a project and abandoned it... No support whatsoever, which translates in long hours of research to learn some topics but far worse it's to replicate the code on windows and vs code. Thank you so much

LaramanCode's avatar

LaramanCode wrote a comment+100 XP

2d ago

Everything New in Livewire 4: Ep 9, Lazy Loading Placeholders

Here you have the Github repo for anyone who wants it, there is some aesthetic variation

LaramanCode's avatar

LaramanCode wrote a comment+100 XP

1w ago

The Laravel Workshop: Ep 21, Creating the Feed Item Partial View

We'll see how the rest of the course develops, but right now I don't understand the logic of this point, because right now what's being passed is static data.

LaramanCode's avatar

LaramanCode wrote a comment+100 XP

1w ago

The Laravel Workshop: Ep 18, Extracting the Navigation, Aside, and Layout

Otherwise, without knowing what will happen to the code later on.

/*  resources/views/profile.blade.php (for example) 
At this point  you don`t need  @props([ ]) to pass variables
*/
<x-layout title="Profile page">
    <!-- Start Content --> 

      <!-- End Content -->
</x-layout>
LaramanCode's avatar

LaramanCode wrote a comment+100 XP

1w ago

Frontend Mentor Challenge with Laravel : Ep 27, Bonus Deployment to Laravel Cloud

Notes and personal opinions

โœฑ Code

โœฑ When you are coding in laravel with componentes you can pass data an varibles directly, like this:

<x-cart.product :cart="$cart" :product="$product" :any_variable="$any_variable" />

This way, you don't need to put into component:

@props([
    "product",
    "cart",
    "any_varibale",
])

โœฑ CSS

Buttons looks better with hand cursor:

class="cursor-pointer"

GitHub Code:

Laracast Github - Frontend Mentor Challenge with Laravel

Simon Vrachliotis Githb - Frontend Mentor Challenge with Laravel

It would be very good if they explained the development on more than one platform, and above all on generic ones, like shared hosting with Cpanel... etc.

LaramanCode's avatar

LaramanCode liked a comment+100 XP

1w ago

Frontend Mentor Challenge with Laravel : Ep 27, Bonus Deployment to Laravel Cloud

@Niush No it's not. Tailwind uses 'cursor: default' for buttons as a default. Even says so in the documentation you linked to ๐Ÿ˜‰

LaramanCode's avatar

LaramanCode liked a comment+100 XP

1w ago

Frontend Mentor Challenge with Laravel : Ep 27, Bonus Deployment to Laravel Cloud

Nice series!

You forgot cursor-pointer on the buttons ;)

LaramanCode's avatar

LaramanCode liked a comment+100 XP

1w ago

Frontend Mentor Challenge with Laravel : Ep 18, Increment and Decrement UI

This is a very good time to point out that the subtract and add items buttons need accessibility. You can add a title to the svgs <title>Substract Item</title> or add an aria title to the button. Something to remember on the remove item in the checkout section as well.

Yes it's a bit pedantic in a lesson like this but I find it's one of those things that can get missed if you're not on top of it all that time :)

LaramanCode's avatar

LaramanCode wrote a comment+100 XP

1w ago

Frontend Mentor Challenge with Laravel : Ep 15, Total Cart Quantity

This returns Call to a member function totalQuantity() on null. when there are not session into table cars.

To solve: cart/index.php

Your Cart ({{ $cart?->totalQuantity() ?? 0 }})  
 @if($cart) 
<aside class="relative p-6 h-full">
    <h2 class="text-red font-bold text-2xl inline-flex">Your Cart (<span>{{ $cart?->totalQuantity()??0}}</span>)
    </h2>
    @if($cart?->totalQuantity())
        <x-cart.active :cart="$cart"/>
    @else
        <x-cart.empty/>
    @endif
</aside>


LaramanCode's avatar

LaramanCode wrote a comment+100 XP

1w ago

Frontend Mentor Challenge with Laravel : Ep 4, Product Model and Migration

create_productos_table.php

LaramanCode's avatar

LaramanCode wrote a comment+100 XP

1w ago

Frontend Mentor Challenge with Laravel : Ep 5, Data Seeding

ProductSeeder.php

<?php

namespace Database\Seeders;

use App\Models\Product;
use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\File;

class ProductSeeder extends Seeder
{
    /**
     * Run the database seeds.
     */
    public function run(): void
    {
        $data = json_decode(File::get(database_path('seeders/data.json')));
        foreach ($data as $product) {
            Product::create([
                'name' => $product->name,
                'category' => $product->category,
                'image' => str_replace('./assets/images/', '', $product->image->mobile),
                'price_cents' => $product->price * 100,
            ]);
        }
    }
}
LaramanCode's avatar

LaramanCode wrote a comment+100 XP

1w ago

The Laravel Workshop: Ep 3, Tailwind Theme Customization

@jdworks yes, and Webstorm too. But if you see the terminal messages you can read:

Files in the public directory are served at the root path.
Instead of /public/fonts/DepartureMono-Regular.woff2, use /fonts/DepartureMono-Regular.woff2.
LaramanCode's avatar

LaramanCode wrote a comment+100 XP

1w ago

Laravel From Scratch (2026 Edition): Ep 41, Edit Your Profile

We all know the quality of Jeffrey's courses, but this one certainly falls short of standards. It's unacceptable that Jeffrey's face takes up as much screen space as the code editor itself, especially considering the lack of essential line numbering (and no Soft-Wrap), the absence of a reference to the current file, and the lack of a Git repository. The screen changes so quickly after writing code that you don't even realize you've finished, and the same goes for imports. It seems this is a demonstration of how quickly the instructor uses the IDE, and that the student's learning isn't the priority.

Lessons like this are incredibly frustrating, especially for non-native English speakers.

LaramanCode's avatar

LaramanCode liked a comment+100 XP

1w ago

Laravel From Scratch (2026 Edition): Ep 40, Update Idea Action

I donโ€™t like this lesson. Itโ€™s difficult, but not because the topic itself is complex โ€” itโ€™s because there are many errors in the code. As a student, I run into these issues and initially assume that Iโ€™ve misunderstood something. But after spending several hours debugging, making two attempts, and carefully watching the video to the end, I realized that the same issues exist in Jeffreyโ€™s code โ€” heโ€™s just not as thorough with testing as I am.

This really slows me down and makes it harder to absorb the material. Whatโ€™s especially frustrating is that this lesson contrasts sharply with the rest of Jeffreyโ€™s courses, which are usually clear and well-explained.

LaramanCode's avatar

LaramanCode liked a comment+100 XP

1w ago

Laravel From Scratch (2026 Edition): Ep 40, Update Idea Action

Everything fails, even following lesson second to second!

LaramanCode's avatar

LaramanCode liked a comment+100 XP

1w ago

Laravel From Scratch (2026 Edition): Ep 40, Update Idea Action

This is pretty disappointing for being part of a paid Laravel course to be honest.

Obviously frontend stuff is unavoidable and I appreciate the initial intention behind bringing AlpineJS in, but it has led to this, an entire episode of refactoring ugly rushed inline Javascript inside quotes with no linting or syntax highlighting, in a tutorial that's supposed to be about a full-stack PHP framework.

When you're teaching PHP & Laravel, you're amazing. But the next time you re-do this course, please do better on the frontend.

LaramanCode's avatar

LaramanCode liked a comment+100 XP

1w ago

Laravel From Scratch (2026 Edition): Ep 40, Update Idea Action

I wish I knew the file Jeffrey is working on, without that or the source code it's somewhat hard to follow along

LaramanCode's avatar

LaramanCode liked a comment+100 XP

1w ago

Laravel From Scratch (2026 Edition): Ep 40, Update Idea Action

Indeed a very complex lecture, in my opinion due to the nature that most stuff is specific to "alpine.js". Apart from that it would really help a lot to use an IDE/editor where the filename is permanently visible.

LaramanCode's avatar

LaramanCode wrote a comment+100 XP

1w ago

Laravel From Scratch (2026 Edition): Ep 38, Authorization Is A Requirement

Authorization Policies & Group Routes

Group all with middleware and group routes policies whit "can"


  Route::middleware('auth')->group(function () {
    Route::get('/ideas', [IdeaController::class, 'index'])->name('ideas.index');
    Route::post('/ideas/store', [IdeaController::class, 'store'])->name('ideas.store');
    Route::can('work-with','idea')->group(function () {
    Route::get('/ideas/{idea}', [IdeaController::class, 'show'])->name('ideas.show');
    Route::post('/ideas/{idea}', [IdeaController::class, 'destroy'])->name('ideas.destroy');
    Route::get('/ideas/{idea}/edit', [IdeaController::class, 'edit'])->name('ideas.edit');
    Route::post('/ideas/{idea}/update', [IdeaController::class, 'update'])->name('ideas.update');
    Route::patch('/steps/{step}', [StepController::class, 'update'])->name('step.upddate');
  });
    /* *** SessionController *** */
    Route::post('/logout', [SessionsController::class, 'destroy'])->name('logout');
  });

LaramanCode's avatar

LaramanCode wrote a comment+100 XP

2w ago

Laravel From Scratch (2026 Edition): Ep 36, Upload Featured Images To Storage

Changes in this tag

1๏ธโƒฃ Create file resources/views/components/form/repeater.blade.php

2๏ธโƒฃ Replace Code in resources/views/idea/index.blade.php

3๏ธโƒฃ Better Image Upload showing image before upload

โœ… Git Repo For This Lesson

dfasd

LaramanCode's avatar

LaramanCode wrote a comment+100 XP

2w ago

Laravel From Scratch (2026 Edition): Ep 35, Actionable Steps

โœ… Repo this lesson in GitLab

( with some variants ) ๐Ÿ‘‰๐Ÿป Here

LaramanCode's avatar

LaramanCode wrote a comment+100 XP

2w ago

LaramanCode's avatar

LaramanCode wrote a comment+100 XP

2w ago

LaramanCode's avatar

LaramanCode wrote a comment+100 XP

2w ago

Laravel From Scratch (2026 Edition): Ep 29, Idea Filtering

Repo (with some variants) ๐Ÿ‘‰๐Ÿป Click HERE

โญ Button filters with IdeaStatus enum colors when activate.
โญ Button filters with x when is active.
โญ Button filters remove filter when second click .
โญ Blade Heroicons Install.
โญ DebugBar Install.

LaramanCode's avatar

LaramanCode liked a comment+100 XP

2w ago

Laravel From Scratch (2026 Edition): Ep 29, Idea Filtering

For verifying that the request status exists in the IdeaStatus enum, PHP has a nice built in method that Claude Code showed me:

$status = IdeaStatus::tryFrom($request->status ?? '');

It will return the value if it exists or null otherwise.

LaramanCode's avatar

LaramanCode wrote a comment+100 XP

2w ago

Laravel From Scratch (2026 Edition): Ep 28, Idea Cards

Another version

File app/IdeaStatus.php

File resources/views/components/ide/status-label.blade.php \

<span @class(["inline-block text-xs rounded-full border mt-2 px-2 p-y-1 text-sx font-medium",
    $status->colors(),
])>
            {{  $status->label() }}
</span>

//File resources/views/components/card.blade.php \
<a href="{{route('ideas.show', $idea->id)}}" {{ $attributes(['class'=>'border border-border rounded-lg bg-card p-4 md:text-sm'])}} >
    <h3 class="text-foreground text-lg">{{$idea->title}}</h3>

    <x-idea.status-label :status="$idea->status" />

    <div class="mt-5 line-clamp-3">{{ $idea->description }}</div>
    <div class="mt-4">{{ $idea->created_at->diffForHumans() }}</div>
</a>

File resources/views/idea/index.blade.php

<x-layout>
    <div class="text-muted-foreground">
        <header class="py-8 md:py-12">
            <h1 class="text-3xl font-bold">Ideas</h1>
            <p class="text-muted-foreground text-sm mt-2"> Capture yor thoughts. Make a plan.</p>
        </header>
        <div class="mt-10">
            <div class="grid md:grid-cols-2 gap-6">
                @forelse($ideas as $idea)
                    <x-card :idea="$idea"/>
                @empty
                    <h2 class="text-4xl font-bold text-purple-600 ">No ideas at this time</h2>
                @endforelse
            </div>
        </div>
    </div>
</x-layout>

LaramanCode's avatar

LaramanCode wrote a comment+100 XP

2w ago

Laravel From Scratch (2026 Edition): Ep 26, Browser Testing Registration Forms With Pest

@RJdie27
In phpStorm check Settings->Tools->Web Browsers and Preview.
Into the section Reload behavior make sure that On Save is selected

LaramanCode's avatar

LaramanCode liked a comment+100 XP

2w ago

Laravel From Scratch (2026 Edition): Ep 24, Design Your Model Layer

The audio translation is NOT synchronized with the video. โ˜น๏ธ

Very good course. ๐Ÿ‘

LaramanCode's avatar

LaramanCode liked a comment+100 XP

3w ago

Laravel From Scratch (2026 Edition): Ep 8, Databases, Migrations, and Eloquent

@jeffreyway Random question: do you have a plugin installed for your editor that creates the clickable links in the terminal?

LaramanCode's avatar

LaramanCode wrote a comment+100 XP

3w ago

Laravel From Scratch (2026 Edition): Ep 4, Layout Files

@priya_N_E Everything that is found between the tags will be captured by the slot variable, you don't need to declare it. This is so because that is how Laravel is programmed.

LaramanCode's avatar

LaramanCode wrote a comment+100 XP

4w ago

Filament 5 in Depth : Ep 6, ToggleGroup, Slider, and RichEditor

@lara_dev_1970 Solution: Add:

                       
                        ->decimalPlaces(0)
        Slider::make('priority')
                        ->required()
                        ->minValue(1)
                        ->maxValue(10)
                        ->pips(Slider\Enums\PipsMode::Steps)
                        ->decimalPlaces(0)
                        ->step(1)
                        ->fillTrack()
                        ->tooltips()
                        ->default(0),
LaramanCode's avatar

LaramanCode wrote a comment+100 XP

4w ago

Filament 5 in Depth : Ep 6, ToggleGroup, Slider, and RichEditor
Slider::make('priority')
                        ->required()
                        ->minValue(1)
                        ->maxValue(10)
                        ->pips(Slider\Enums\PipsMode::Steps)
                        ->step(1)
                        ->fillTrack()
                        ->tooltips()
                        ->default(0),

When the slider is in position 4 & 7 the tooltip shows 4.9999999999 or 6.99999999999