问题描述
错误说明
我试图使用spatie / laravel-translatable,并通过命令将其删除
composer remove spatie/laravel-translatable
我手动删除了config / translatable.PHP文件。
我按照以下链接中提到的安装说明安装了astrotomic / laravel-translateable: https://docs.astrotomic.info/laravel-translatable/installation
我编辑config / translatable.PHP文件的语言环境和语言环境数组
'locales' => [
'ar','en','tr',],'locale' => 'ar',
错误:1我尝试访问语言环境,但返回null config('translatable.locales')返回null current()也返回null
我试图在数组变量中输入语言环境,而不是从config / translatable.PHP获取它们。
@PHP
// $locales = config('translatable.locales') ;
$locales=['ar','tr'];
@endPHP
@foreach ( $locales as $locale )
<div class="form-group">
<label for="name">@lang('site.'.$locale.'.name')</label>
<input type="name" class="form-control" name="{{ $locale }}[name]"
placeholder=" @lang('site.enter-name')" value="{{ old( $locale.'.name') }}">
</div>
@endforeach
// CategoryController.PHP
public function store(Request $request)
{
$request->validate([
'ar.*' => 'required',]);
Category::create($request->all());
session()->flash('success',__('site.added-successfuly'));
return redirect()->route('adminDashboard.categories.index');
}
错误2:运行应用程序时,它将引发以下异常:
请确保您已运行
PHP artisan vendor:publish --provider="Astrotomic\Translatable\TranslatableServiceProvider"
并定义了语言环境配置。
预期的行为 在category_translations中找到三个具有相同category_id和三个不同区域设置值(ar,en,tr)的值
模型
// Category Model
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
use Astrotomic\Translatable\Contracts\Translatable as TranslatableContract;
use Astrotomic\Translatable\Translatable;
class Category extends Model
{
use Translatable;
public $translatedAttributes = ['name'];
}
//CategoryTranslation Model
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class CategoryTranslation extends Model
{
public $timestamps = false;
protected $fillable = ['name'];
}
版本
- PHP:7.2.5
- 数据库:MysqL
- laravel / framework:7.24
- 包装:天文/ laravel可翻译:11.8
- mcamara / laravel-localization:1.5
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)