JeffreyWay

Owner at Laracasts

Member Since 7 Years Ago

Chattanooga, TN

Experience Points
496,950
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
373
Lessons
Completed
Best Reply Awards
366
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
496,950 XP
May
10
1 day 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
2 days 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
5 days 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 week 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 week 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 week 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 week 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 week 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
2 weeks 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.

Activity icon

Commented on Show All Posts Associated With A Category

You can, but I'd recommend sticking with this series. We publish around 5 new episodes a week, which should keep you busy if you do around one per day.

Activity icon

Commented on Clockwork, And The N+1 Problem

I'm not entirely sure what you mean?

Activity icon

Commented on Database Seeding Saves Time

I generally agree, but rather than splitting according to tables, I find it more useful to split according to usecases.

Activity icon

Commented on Database Seeding Saves Time

That part still works. Nothing changed in that regard, I don't think.

Activity icon

Commented on Database Seeding Saves Time

Yes, but to be clear, I wouldn't say at all that it's the wrong thing. Countless people truncate at the beginning of their seeders.

Apr
22
2 weeks ago
Activity icon

Commented on Database Seeding Saves Time

Please wait for the next episode tomorrow on factory classes. The truncation is removed in that video.

Activity icon

Commented on How Does Form Validation Work?

resolveValidationErrors() exists in the Inertia\Middleware class.

This is where a smart IDE can be really useful. I didn't state the class because it didn't matter. I was just quickly clicking through to the method definition to see what it does.

But fair enough. I'll try to do a better job of making it clear which file we're currently in.

Activity icon

Commented on Clockwork, And The N+1 Problem

It doesn't matter. Just a pick a tool you like.

Apr
20
3 weeks ago
Activity icon

Commented on Show All Posts Associated With A Category

We release around 5 new episodes each week. 👍

Activity icon

Commented on 3 Ways To Mitigate Mass Assignment Vulnerabilities

Have a look here: https://laracasts.com/uses

In this series, I'm using:

  • PHPStorm with the Nord theme and almost every hidden (menu bars, etc.)
  • iTerm
Activity icon

Commented on Find A Composer Package For Post Metadata

And Laravel collections are so much more powerful than we've covered so far in this series.

Activity icon

Commented on Find A Composer Package For Post Metadata

It's on my list.

Apr
17
3 weeks ago
Activity icon

Commented on Show All Posts Associated With A Category

Haha not always.

Apr
14
3 weeks ago
Apr
12
4 weeks ago
Activity icon

Commented on Make A Post Model And Migration

It doesn't matter either way.

Activity icon

Commented on Make A Post Model And Migration

Yep. First I want to cover the full commands, and then we'll look at some shortcuts.

Apr
10
1 month ago
Activity icon

Commented on How Do I Handle Policy Authorization

The creator of Inertia.

Activity icon

Commented on How Do I Handle Policy Authorization

That route would be protected on the server-side. You can also submit a delete call from the command line. That doesn't mean it's going to work.

Activity icon

Commented on Environment Files And Database Connections

Oh good. I'll try to do it more frequently.

Activity icon

Commented on Include CSS And JavaScript

@automica @michaloravec They're optional, so I often skip them during screencasts.

https://google.github.io/styleguide/htmlcssguide.html#Optional_Tags

(This approach may require a grace period to be established as a wider guideline as it’s significantly different from what web developers are typically taught. For consistency and simplicity reasons it’s best served omitting all optional tags, not just a selection.)

Activity icon

Commented on Blade: The Absolute Basics

Hey, Mike -

There are several ways to handle this.

  1. Store, not plain text, but HTML in the body column. This will solve your formatting problem.

  2. Store plain text, but pass $post->body to PHP's nl2br() function first. This will add line breaks wherever a new line is encounter. See here.

  3. Store the post body as Markdown, and then convert it to HTML it before you echo it out. Laravel includes a Markdown parser out of the box.

  4. Use a WYSIWYG like Trix.

Apr
09
1 month ago
Activity icon

Commented on Use The Filesystem Class To Read A Directory

If you're following along with this series, that Postclass shouldn't be an Eloquent model. It shouldn't extend anything.

Apr
08
1 month ago
Activity icon

Commented on Find A Composer Package For Post Metadata

Yes, it would be wasteful if you're mapping over thousands of records. For situations like this, though, it just doesn't matter. And the results would be cached, which makes it matter even less.

Activity icon

Commented on Find A Composer Package For Post Metadata

For this series, I'm trying to focus more on what it's like to build an app in Laravel, rather than "Here are the various components of Laravel and here's how to use each of them." Finding and installing a Composer package is something you will do for just about every Laravel app.

Apr
06
1 month ago
Activity icon

Replied to My Feeling Abou Laracast

Happy to have you! Welcome to the site.

Apr
05
1 month ago
Activity icon

Commented on Find A Composer Package For Post Metadata

@joshmanhuwa - With respect, this series isn't for people without PHP experience. I'd recommend a beginning PHP series for that.

Happy to help with wildcard constraints. What part was confusing to you?

Apr
02
1 month ago
Activity icon

Commented on Blade Layouts Two Ways

Yes.

Mar
31
1 month ago
Activity icon

Commented on Find A Composer Package For Post Metadata

It's a bit of a risk, but it allowed us to review a bunch of different pieces of Laravel (Filesystem, Cache, Collection, etc.) sooner rather than later.

And yes, this is a common approach for static sites.

We'll switch to using a traditional MySQL database in the next chapter.

Activity icon

Commented on Find A Composer Package For Post Metadata

That's not an optimization you need to worry about. It's incredibly fast.

Mar
29
1 month ago
Activity icon

Commented on How Do I Handle Policy Authorization

That's beyond the scope of this series, but Jonathan will likely cover it in his series that he's working on for us.

Mar
17
1 month ago
Mar
16
1 month ago
Activity icon

Commented on Assets, Layouts And Fancy Selects

Yeah, that's fixed in the source code that's up on GitHub haha.