I have upgraded Laravel from 5.6 to 6.0. Previously, default helper functions were running fine on the controllers, but now it says \"undefined.\" In my con
Likelihood Of Impact: High Laravel 6 Upgrade Guide
In Laravel 6 All str_
and array_
helpers have been moved to the new laravel/helpers
Composer package and removed from the framework. If desired, you may update all calls to these helpers to use the Illuminate\Support\Str
and Illuminate\Support\Arr
classes. Alternatively, you can add the new laravel/helpers
package to your application to continue using these helpers:
composer require laravel/helpers
If don't want to add Package then Used Str
And Arr
Classes.
For Example :
Str::random(12)
https://laravel.com/docs/master/helpers#method-str-random
Add the following string library.
use Illuminate\Support\Str;
now you can use it as below.
$filename = Str::random(40)
alternatively, install the following package.
composer require laravel/helpers
use code ::
<?php
namespace App\Http\Controllers;
use Exception;
use Illuminate\Support\Str;
use Illuminate\Support\Arr;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Log;
public function index()
{
$count=15;
try {
DB::statement('truncate users');
DB::beginTransaction();
while ($count--){
$id = DB::table('users')->insertGetId( [
'name'=>'Sample'.$count,
'password'=>random_int(1000000,99999999)
]);
foreach (range(1,rand(1,3)) as $index ){
DB::insert('INSERT INTO posts (userid,title,body) VALUES (:userid,:title,:body)',[
'userid'=>$id,
'title'=>str::random(15),
'body'=>str::random(50),
]);
}
DB::commit();
}
}catch (\Exception $errors){
DB::rollBack();
Log::error($errors);
return "mission filed";
}
}
In my case, I didn't use any of the string helpers in my app code, so I just had to remove the compiled class file:
php artisan clear-compiled