Method Illuminate\Translation\Translator::getFromJson does not exist

After upgrading from laravel 5.8 to laravel 6.0, I found this error.

Method Illuminate\Translation\Translator::getFromJson does not exist

Anyone know any work around for this?

It seems that problem is from using @lang for printing translation messages in my blade file


Solution 1:

Hy Prasanth

The Lang::get and Lang::getFromJson methods have been consolidated in laravel . Calls to the Lang::getFromJson method should be updated to call Lang::get.

You should run the php artisan view:clear Artisan command to avoid Blade errors related to the removal of Lang::transChoice, Lang::trans, and Lang::getFromJson.

Thank you.

Solution 2:

Try php artisan view:clear

The issue is that your view files have been compiled in 5.8, so @lang has compiled to Lang::getFromJson which has now been removed.