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

lara_dev_1970's avatar

lara_dev_1970 wrote a comment+100 XP

3d 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.

lara_dev_1970's avatar

lara_dev_1970 wrote a comment+100 XP

4d 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>
lara_dev_1970's avatar

lara_dev_1970 wrote a comment+100 XP

4d 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.

lara_dev_1970's avatar

lara_dev_1970 liked a comment+100 XP

4d 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 😉

lara_dev_1970's avatar

lara_dev_1970 liked a comment+100 XP

4d ago

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

Nice series!

You forgot cursor-pointer on the buttons ;)

lara_dev_1970's avatar

lara_dev_1970 liked a comment+100 XP

5d 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 :)

lara_dev_1970's avatar

lara_dev_1970 wrote a comment+100 XP

5d 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>


lara_dev_1970's avatar

lara_dev_1970 wrote a comment+100 XP

6d ago

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

create_productos_table.php

lara_dev_1970's avatar

lara_dev_1970 wrote a comment+100 XP

6d 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,
            ]);
        }
    }
}
lara_dev_1970's avatar

lara_dev_1970 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.
lara_dev_1970's avatar

lara_dev_1970 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.

lara_dev_1970's avatar

lara_dev_1970 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.

lara_dev_1970's avatar

lara_dev_1970 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!

lara_dev_1970's avatar

lara_dev_1970 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.

lara_dev_1970's avatar

lara_dev_1970 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

lara_dev_1970's avatar

lara_dev_1970 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.

lara_dev_1970's avatar

lara_dev_1970 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');
  });

lara_dev_1970's avatar

lara_dev_1970 wrote a comment+100 XP

1w 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

lara_dev_1970's avatar

lara_dev_1970 wrote a comment+100 XP

1w ago

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

✅ Repo this lesson in GitLab

( with some variants ) 👉🏻 Here

lara_dev_1970's avatar

lara_dev_1970 wrote a comment+100 XP

1w ago

lara_dev_1970's avatar

lara_dev_1970 wrote a comment+100 XP

1w ago

lara_dev_1970's avatar

lara_dev_1970 wrote a comment+100 XP

1w 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.

lara_dev_1970's avatar

lara_dev_1970 liked a comment+100 XP

1w 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.

lara_dev_1970's avatar

lara_dev_1970 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>

lara_dev_1970's avatar

lara_dev_1970 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

lara_dev_1970's avatar

lara_dev_1970 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. 👏

lara_dev_1970's avatar

lara_dev_1970 liked a comment+100 XP

2w 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?

lara_dev_1970's avatar

lara_dev_1970 wrote a comment+100 XP

2w 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.

lara_dev_1970's avatar

lara_dev_1970 wrote a comment+100 XP

3w 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),
lara_dev_1970's avatar

lara_dev_1970 wrote a comment+100 XP

3w 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