JeffreyWay

Owner at Laracasts

Member Since 7 Years Ago

Chattanooga, TN

Experience Points
499,070
Total
Experience

0 experience to go until the next level!

In case you were wondering, you earn Laracasts experience when you:

  • Complete a lesson — 100pts
  • Create a forum thread — 50pts
  • Reply to a thread — 10pts
  • Leave a reply that is liked — 50pts
  • Receive a "Best Reply" award — 500pts
Lessons Completed
378
Lessons
Completed
Best Reply Awards
367
Best Reply
Awards
  • start your engines Created with Sketch.

    Start Your Engines

    Earned once you have completed your first Laracasts lesson.

  • first-thousand Created with Sketch.

    First Thousand

    Earned once you have earned your first 1000 experience points.

  • 1-year Created with Sketch.

    One Year Member

    Earned when you have been with Laracasts for 1 year.

  • 2-years Created with Sketch.

    Two Year Member

    Earned when you have been with Laracasts for 2 years.

  • 3-years Created with Sketch.

    Three Year Member

    Earned when you have been with Laracasts for 3 years.

  • 4-years Created with Sketch.

    Four Year Member

    Earned when you have been with Laracasts for 4 years.

  • 5-years Created with Sketch.

    Five Year Member

    Earned when you have been with Laracasts for 5 years.

  • school-in-session Created with Sketch.

    School In Session

    Earned when at least one Laracasts series has been fully completed.

  • welcome-newcomer Created with Sketch.

    Welcome To The Community

    Earned after your first post on the Laracasts forum.

  • full-time-student Created with Sketch.

    Full Time Learner

    Earned once 100 Laracasts lessons have been completed.

  • pay-it-forward Created with Sketch.

    Pay It Forward

    Earned once you receive your first "Best Reply" award on the Laracasts forum.

  • subscriber Created with Sketch.

    Subscriber

    Earned if you are a paying Laracasts subscriber.

  • lifer Created with Sketch.

    Lifer

    Earned if you have a lifetime subscription to Laracasts.

  • evangelist Created with Sketch.

    Laracasts Evangelist

    Earned if you share a link to Laracasts on social media. Please email [email protected] with your username and post URL to be awarded this badge.

  • chatty-cathy Created with Sketch.

    Chatty Cathy

    Earned once you have achieved 500 forum replies.

  • lara-veteran Created with Sketch.

    Laracasts Veteran

    Earned once your experience points passes 100,000.

  • 10k-strong Created with Sketch.

    Ten Thousand Strong

    Earned once your experience points hits 10,000.

  • lara-master Created with Sketch.

    Laracasts Master

    Earned once 1000 Laracasts lessons have been completed.

  • laracasts-tutor Created with Sketch.

    Laracasts Tutor

    Earned once your "Best Reply" award count is 100 or more.

  • laracasts-sensei Created with Sketch.

    Laracasts Sensei

    Earned once your experience points passes 1 million.

  • top-50 Created with Sketch.

    Top 50

    Earned once your experience points ranks in the top 50 of all Laracasts users.

  • Community Pillar

    Earned once your experience points ranks in the top 10 of all Laracasts users.

Level 50
499,070 XP
Jun
09
3 days ago
Activity icon

Commented on Find A Composer Package For Post Metadata

I don't personally want to have to find a plugin to add namespaces for me at this early stage cause I feel it would hinder my knowledge of the language, though I can see that some would prefer that.

Once you understand that classes can be namespaced, you're ready to move on to automatic importing. Don't waste keystrokes if you don't have to.

Jun
07
5 days ago
Activity icon

Commented on Store Blog Posts As HTML Files

Yes, it's the exact same thing. PHPStorm just automates the process of extracting and assigning a variable.

Jun
06
6 days ago
Activity icon

Commented on Failed Validation And Old Input Data

@seabass I never said that didn't work. That's why I showed both options in the video.

Activity icon

Commented on Make A Post Model And Migration

That's an external snippet app. Not related to Tinker specifically.

Activity icon

Commented on Hello World With React

We're working on it!

Jun
04
1 week ago
Activity icon

Commented on Show All Posts Associated With A Category

At what point in the code is a post associated with a category?

The association is here: https://github.com/JeffreyWay/Laravel-From-Scratch-Blog-Project/blob/main/app/Models/Category.php#L12-L15

If you're getting null, that means there are no posts associated with that particular category in your database.

Jun
03
1 week ago
Activity icon

Replied to Laravel 8 From Scratch: Introducing Controllers

Nothing has changed in that regard. We'll talk about controllers more in the Forms chapter.

Jun
01
1 week ago
Activity icon

Commented on Hello, TypeScript

You can always find a link to the relevant source code in the sidebar episode list.

May
30
1 week ago
Activity icon

Commented on Fix A Confusing Eloquent Query Bug

I can't reproduce that. Can you share what your dropdown Blade component looks like, and also your Post filter() query scope code?

May
29
2 weeks ago
Activity icon

Awarded Best Reply on PHP Testing Jargon Episode 5 - Class Not Found

You need to tell Composer how to autoload your src files. Merge the following into your composer.json file.

{
    "autoload": {
        "psr-4": {
            "App\\": "src/",
        }
    }
}

And then run composer dump-autoload from the Terminal.

And don’t forget to compare your code against the lesson’s source code.

https://github.com/laracasts/PHP-Testing-Jargon/commit/91ca56f82eefe4dc82e3577882318fa8d851f24d

Activity icon

Replied to PHP Testing Jargon Episode 5 - Class Not Found

You need to tell Composer how to autoload your src files. Merge the following into your composer.json file.

{
    "autoload": {
        "psr-4": {
            "App\\": "src/",
        }
    }
}

And then run composer dump-autoload from the Terminal.

And don’t forget to compare your code against the lesson’s source code.

https://github.com/laracasts/PHP-Testing-Jargon/commit/91ca56f82eefe4dc82e3577882318fa8d851f24d

Activity icon

Commented on Convert The Blog Post Page

We covered x-thisorthat Blade components in episode 15 and again in episode 32.

I have to move quickly through the HTML and CSS parts for the exact reason you mentioned. This isn’t an HTML/CSS series and I can’t spend three hours discussing the build or I’d lose the entire audience. That’s why I said multiple times “Just come along for the ride and we’ll get right back to Laravel-specific topics.”

But sure, it’s assumed that if you encounter something that isn’t overly clear, you should hit pause and review the Laravel docs for more information.

May
28
2 weeks ago
Activity icon

Commented on How To Extract A Dropdown Blade Component

If you click on the commits tab, it'll show you the source code for every episode beyond this point.

https://github.com/JeffreyWay/Laravel-From-Scratch-Blog-Project/commits/main

Activity icon

Commented on Service Providers Are The Missing Piece

@kleeh This is not a PHPStorm-specific feature. You can install a VSCode package to do the exact same thing. And I do recommend it.

The Class 'App\Providers\Example' not found error you saw makes it very clear that it was looking for an Example class within your App\Providers namespace, but couldn't find one. It's understandable that this confused you, but it's more an indication that you might not ready for this mid section of the series.

(Also - a note that nearly every comment I see from you is a negative one.)

May
27
2 weeks ago
Activity icon

Commented on Author Filtering

Yes it's possible. You'd use the cache()->rememberForever() method.

Activity icon

Commented on A Few Tweaks And Consideration

We'll be done by the beginning of July.

May
24
2 weeks ago
Activity icon

Commented on Faster Write-offs With Multiple Cursors

Apologies, but I don't use Windows or Linux. I can't clarify keyboard shortcuts for an OS I don't - and have never - used. The general examples in this series will work for any OS. But yeah, you might need to google a keyboard shortcut.

May
23
2 weeks ago
Activity icon

Commented on How To Extract A Dropdown Blade Component

All of the source code is available here: https://github.com/JeffreyWay/Laravel-From-Scratch-Blog-Project

If we're going to build a functional blog, we have to write some CSS. Can't quite get around that. But, yeah you're free to copy and paste and then move on. It's not a prerequisite for this series.

May
21
3 weeks ago
Activity icon

Commented on Advanced Eloquent Query Constraints

I've been playing with the format for a few weeks, and I think that's basically going to be the flow. I'll be on camera the first minute or so to explain what we're doing in the video, and then if I need to clarify anything throughout the video, I'll come back on.

Activity icon

Commented on Extract A Category Dropdown Blade Component

Definitely - though I very much prefer the component approach in a situation like this.

Activity icon

Commented on Advanced Eloquent Query Constraints

Yeah, I think we use very few PHP 8 specific features in this series.

May
20
3 weeks ago
Activity icon

Commented on Advanced Eloquent Query Constraints

@taytus I’m all for constructive criticism. But you were being intentionally rude, and you know it. Same for that nasty “idiot” comment you directed at me, which I’ve removed.

Activity icon

Commented on Advanced Eloquent Query Constraints

@taytus I think you'll live.

Activity icon

Commented on Advanced Eloquent Query Constraints

90% of the video does not have any PiP.

Activity icon

Commented on Find A Composer Package For Post Metadata

The first map() call returned YamlFrontMatter::parseFile($file) for each blog post. That means you now have a collection of YamlFrontMatter documents. When we call map() a second time, we're now iterating over a collection of documents, which is why that $document parameter was available to us.

Activity icon

Commented on Find A Composer Package For Post Metadata

@hashim Any basic editor worth its salt can automatically import class namespaces. Just google it.

I just rewatched that portion of the video, and I did pause on the class import to show the full path. I apologize if that wasn't clear.

And PHPStorm offers free educational licenses and EAP releases. OR - use any editor you wish. I'm quite fond of Sublime Text.

But to suggest that this series is a PHPStorm advertisement is absurd and mean-spirited.

Activity icon

Commented on Quick Tweaks And Clean-Up

Right, we discussed this in the video. That doesn't solve the problem.

Activity icon

Commented on Search (The Cleaner Way)

We're going to review pagination very soon.

Until then, can you share your controller code that returns the view?

May
15
4 weeks ago
Activity icon

Commented on Search (The Cleaner Way)

I just forgot to update those references. I wasn’t too focused on it because we were migrating to the ‘when()’ approach.

May
14
4 weeks ago
Activity icon

Commented on Search (The Messy Way)

Not as clean as what we do in the next episode.

May
12
1 month ago
Activity icon

Commented on Store Blog Posts As HTML Files

It works because that's the exact URL I typed into the address bar.

Activity icon

Commented on Laravel And Foreign Key Constraints

@stillfinder That's a fresh install of Laravel.

laravel new example

If you're not familiar with Laravel at all, the rest of this series might be a little difficult to follow along with.

May
10
1 month ago
Activity icon

Commented on How To Extract A Dropdown Blade Component

Yes, but setting an active property is clearer and allows the Blade component to be responsible for the presentation of an active dropdown link.

May
09
1 month ago
Activity icon

Commented on Blade Components And CSS Grids

^ Exactly. And this is why you always want to declare any props that aren't tag attributes.

May
06
1 month ago
Activity icon

Commented on Hello Eloquent

Umm, no it's not.

Activity icon

Commented on Eager Load Relationships On An Existing Model

I use the Moom app.

Activity icon

Commented on Use Caching For Expensive Operations

That would still be faster than reading and preparing every single blog post in the posts directory. Plus, in production, you'd probably be using the Redis driver for your caching needs, which is even faster.

Activity icon

Commented on Eager Load Relationships On An Existing Model

We'll discuss pivot tables when we introduce the tags feature.

Activity icon

Commented on Use Caching For Expensive Operations

@hashim You can keep the forward slash if you want. But posts/{$slug} refers to a URI. posts.{$slug}, on the other hand, is a key we use for the cache. It's not a URI. Using dot-notation is a common convention.

May
04
1 month ago
Activity icon

Commented on Find A Composer Package For Post Metadata

Yes, you need to import the full namespaces path to YamlFrontMatter. I think it's:

use Spatie\YamlFrontMatter\YamlFrontMatter;
May
03
1 month ago
Activity icon

Commented on 3 Ways To Mitigate Mass Assignment Vulnerabilities

My point in the video is there is no best or right way to do it. Some teams insist on being explicit about your fillable attributes, while others disable it entirely.

What I generally do is disable mass assignment protection entirely, and then make an internal rule that we never pass request()->all() to an Eloquent query method.

Activity icon

Commented on Route Wildcard Constraints

As you'll find in episode 23, it's best if those all share the same name.

May
01
1 month ago
Activity icon

Commented on Eager Load Relationships On An Existing Model

Laracasts was built using Vue. Nothing to worry about there. 👍

Apr
30
1 month ago
Activity icon

Commented on View All Posts By An Author

We cover eager loading relationships of existing models in episode 30 (the next one).

Apr
29
1 month ago
Activity icon

Commented on Your First Eloquent Relationship

We haven't gotten to the constraints-portion of this series yet. There's a dedicated lesson on it in section six.

Apr
23
1 month ago
Activity icon

Commented on Use The Filesystem Class To Read A Directory

That’s using Vi keybindings. So in this case, it would be “dst” for delete surrounding tag.

Activity icon

Commented on Clockwork, And The N+1 Problem

Ah yes, we haven't looked at that yet. There's a couple ways to set the relationship, but you can eager load an existing model's relationships with the load() method. You can even use dot-notation to load the relationships for a relationship, if that makes sense. 👍

Like this:


Route::get('categories/{category:slug}', function (Category $category) {
    $category->load('posts.category');

 	// 
});

Or, you can load a set of relationships even if you already have a collection.

$category->posts->load('category');
Activity icon

Commented on Show All Posts Associated With A Category

When we're finished, I'll push it to GitHub.