ahmadmayahi

ahmadmayahi

Member Since 5 Years Ago

Naestved

Experience Points
11,080
Total
Experience

3,920 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
103
Lessons
Completed
Best Reply Awards
1
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.

Level 3
11,080 XP
Sep
15
1 week ago
Activity icon

Replied to A Question About The Validated() Method In The Request

@ismaile I'm talking about Http requests, not models :-)

Activity icon

Started a new Conversation A Question About The Validated() Method In The Request

Hey,

I need to treat the published_at field (which is coming from the Http request) as a Carbon instance.

This is what I did in the App\Http\Requests\CreatePostFormRequest:

public function validated()
{
    return array_merge(
        parent::validated(),
        [
            'published_at' => Carbon::createFromFormat('Y-m-d', $this->input('published_at')),
        ]
    );
}

So this is how I save it in the controller:

public function store(PostFormRequest $request, CreatePostAction $action)
{
    $action->execute(PostData::fromRequest($request));
    // ...
}

The PostData class is a DTO:


class PostData extends DTO
{
    protected static array $ignoreProps = [
        'slug',
    ];

    public string $title;

    public string $content;

    public Carbon $published_at; // in DTO it has to be an instance of Carbon

    public int $author_id;

    public string $slug;
}

The question is:

Is it (normal) to modify the validated() method in the request?

If not, how do you do it? what is the (better) way of doing it?

Best, Ahmad

Sep
12
2 weeks ago
Activity icon

Replied to Route::domain Doesn't Get URL::defaults Values

The route will be ruined by running the php artisan config:cache, therefore we should always use config() instead of env().

Anyway, I got the idea, and I don't want to use configuration entries in the route files, there must be a better solution.

Activity icon

Replied to Route::domain Doesn't Get URL::defaults Values

But that so confusing.

I don't want to use production domain names during development.

There must be a solution to this issue, otherwise it useles (at least for me).

Activity icon

Started a new Conversation Route::domain Doesn't Get URL::defaults Values

Hi everybody,

I'm trying to create sub-domain routes using Route::domain as follows:

Route::domain('sub.{domain}')->group(function() {
    Route::get('hello', function() {
        return "Hello World";
    });
});

The domain placeholder should be coming from SetDefaultDomain middleware but it doesn't:

URL::defaults([
    'domain' => 'laravel-exam.test',
    'test' => 'test',
]);
// Doesn't work

http://sub.laravel-exam.test/hello

The test placeholder works just fine:

Route::get('myroute/{test}', function() {
    return 'Test';
});
// Works fine

http://laravel-exam.test/myroute/test

I also tried to add the URL::defaults in the RouteServiceProvider but it didn't work.

Any idea?

Sep
06
3 weeks ago
Activity icon

Replied to How To Exec PHP Script From Laravel?

exec('php '.public_path($order->filename).' > /dev/null 2>&1 &');
Activity icon

Replied to Laravel Vendor Does Not Exist And Could Not Be Created On Mac

As the error states, it's a permission issue.

Make sure your project has the correct permissions to create the vendor folder.

You might need to use sudo chown -R mike /Users/developer/mike/code/ && chmod -R 777 /Users/developer/mike/code/vendor

Activity icon

Started a new Conversation Eloquent Resources: `withoutWrapping()` Behavior

Hey,

We can disable wrapping as follows:

// AppServiceProvider
public function boot()
{
    ResourceCollection::withoutWrapping();
}

Or we can be more speicifc by calling the withoutWrapping() method on the collection/model:

UserResource::withoutWrapping();

Both work pretty well, but when I disable the wrapping for UserResource It'll also be disabled on the UserCollection or vise versa:

// disable wrapping for UserResouce
UserResource::make(User::find(1));

// wrapping will also be disabled in UserCollection
UserCollection::make(User::whereHas('posts')->with('posts')->take(10)->get());

My question is: why it behaves like that in the service provider?

Shouldn't it disable the wrapping for either resource or model?

My question is about the behavior, not finding a solution, since I already know how to make it work for only one class, and that's done via setting the $with property in either UserResource or UserCollection, or calling withoutWrapping in the toArray method.