Some Laravel Tips and Tricks

Today I would like to share some laravel tips and tricks. Let’s take a look.

Use Carbon with Only Hours

If you want to have a current date without seconds and/or minutes, use Carbon’s methods like setSeconds(0) or setMinutes(0).

echo now();

// 2022-02-14 02:12:34

echo now()->setSeconds(0);

// 2022-02-14 02:12:00

echo now()->setSeconds(0)->setMinutes(0);

// 2022-02-14  02:00:00

// Another way – even shorter

echo now()->startOfHour();

Generate Images with Seeds/Factories

Normally, We use Faker to generate fake text values in seeds and factories. But do you know that you can generate not only text values but also Images by Faker?

For example: See image field here – it will generate 100×100 image:

$factory->define(User::class, function (Faker $faker) {

    return [

        ‘name’ => $faker->name,

        ‘email’ => $faker->unique()->safeEmail,

        ‘email_verified_at’ => now(),

        ‘password’ => bcrypt(‘password’),

        ‘remember_token’ => Str::random(10),

        ‘Image’ => $faker->image(storage_path(‘images’), 100, 100)

    ];

});

Simple Pagination

In pagination, if you need just “Previous/next” links instead of all the page numbers (and have fewer DB queries because of that), You can do this easily by changing paginate() to simplePaginate():

// Instead of

$products = Product::paginate(8);

// Now you can do this

$products = Product::simplePaginate(8);

Use @auth in Blade

Instead of an if-statement to check logged-in users, You can use the @auth directive in your blade file.

Old way:

@if(auth()->user())

    // The user is authenticated.

@endif

Latest:

@auth

    // The user is authenticated.

@endauth

The opposite is @guest directive:

@guest

    // The user is not authenticated.

@endguest

Check the view file exists

You can check if the View file exists before actually loading it.

if (view()->exists(‘admin.dashboard’)) {

 // Load the view

}

You can even load an array of views, and only the first existing will be loaded.

return view()->first([‘admin.dashboard’, ‘dashboard’], $data);

Create migration without underscore _ symbol

When you are running a make:migration command, you don’t necessarily have to write underscore _ symbol between parts, like create_users_table.

// with underscore _ symbol

php artisan make:migration create_users_table

You can enter the name into quotes and then utilize spaces instead of underscores.

// without underscore _ symbol

php artisan make:migration “create users table”

Use Auth::once()

Do you know that you c an log in with the user only for One Request? You can easily do this by utilizing the method Auth::once(). No sessions or cookies will be used, which indicates this method may be applicable when building a stateless API.

if (Auth::once($credentials)) {

    //

}

Use @canany to check multiple permissions at once

Earlier, You use the @can directive to check if a user has a certain permission. Now, you can also check multiple permissions at once with the @canany directive.

@canany([‘update’, ‘view’, ‘delete’], $blog)

    // The current user can update, view, or delete the blog post

@elsecanany([‘create’], \App\Blog::class)

    // The current user can create a blog post

@endcanany

This is all for now. Hope you enjoy that.

By Asahi



アプリ関連ニュース

お問い合わせはこちら

お問い合わせ・ご相談はお電話、またはお問い合わせフォームよりお受け付けいたしております。

tel. 06-6454-8833(平日 10:00~17:00)

お問い合わせフォーム