1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【Laravel】Laravel6からstr_randomとarr_randomヘルパが使えない

Posted at

自分の環境

Laravel 7.x

経緯

ログイン機能実装の勉強をする上で、Seederを編集するときに参考にしたコードがstr_random(10)を使用。これでSeederを作成していました。

そして作成したSeederを実行するときにエラー発生。なんでやねんってなって、エディタ上でstr_randomの色がおかしい気がしたのでlaravel str_random(10)でググった。

そしたらLaravel6からヘルパが削除されたらしい。

そして
https://readouble.com/
randomで検索したら、ちゃんと説明が書いてありました。

ヘルパが削除されたらしいが、使えるようにすることもできるらしい

下記のブログを参考にしました
https://oversealife.work/2019/09/11/laravel-6-helper/

$ composer require laravel/helpers

これでヘルパーのライブラリがインストール。
これで

str_random(10)

が使えるようになりました。

そんな便利なものがなぜ使えなくなったの?

結論、randomな文字列の生成はできます。

Str::random(10)

という感じの書き方に変わっただけ。

DatabaseSeeder
<?php

use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\DB; // 自分のには書いてませんでした大丈夫でした
use Illuminate\Support\Facades\Hash; // 自分のには書いてませんでした大丈夫でした
use Illuminate\Support\Str; // 自分のには書いてませんでした大丈夫でした

class DatabaseSeeder extends Seeder
{
    /**
     * データベース初期値設定の実行
     *
     * @return void
     */
    public function run()
    {
        DB::table('users')->insert([
            'name' => Str::random(10),
            'email' => Str::random(10).'@gmail.com',
            'password' => Hash::make('password'),
        ]);
    }
}

ちゃんと説明がありました。
useが初期状態では最初の一つしか書いてませんでしたが、
Hash::makeStr::random()も使えました。

ちゃんとハッシュも生成されてました。

配列のrandom

Arr::random($array, 要素数);

最初だけ変えればOK!!

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?