自分の環境
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::make
もStr::random()
も使えました。
ちゃんとハッシュも生成されてました。
配列のrandom
Arr::random($array, 要素数);
最初だけ変えればOK!!