0

ローカライズされていないモデルがあります: 次のプロパティを持つ記事: idtitledescription ; titledescriptionをローカライズしたい。

Laravel バックパックのドキュメントで、CRUD がspatie/laravel-translatableを使用してローカライズされたモデルを管理できることを見てきました。これは、各プロパティTranslatable models と multi-language CRUDsに JSON フィールドを使用します。

新しいローカライズされたモデルを管理するのは良い方法だと思いますが、既存のソフトウェアの大部分を書き直さない限り、Article モデルをローカライズされたバージョンに渡す方法が見つかりません。

私が見逃している良い習慣はありますか?

4

1 に答える 1

0

すでに使用している場合はBackpack、使用するspatie/laravel-translatableのが最適なオプションです。Article以下のようにモデルを作成して、翻訳可能なモードにすることができます。

<?php

namespace App\Models;

use Backpack\CRUD\app\Models\Traits\CrudTrait;
use Illuminate\Database\Eloquent\Model;
use Backpack\CRUD\app\Models\Traits\SpatieTranslatable\HasTranslations; //you need to add

class Article extends Model
{
    use CrudTrait;
    use HasTranslations; //you need to add

     /*
  |--------------------------------------------------------------------------
  | GLOBAL VARIABLES
  |--------------------------------------------------------------------------
  */

    protected $table = 'articles';
    protected $primaryKey = 'id';
    protected $fillable = ['title', 'description'];
    protected $translatable = ['title', 'description']; //you need to add
于 2020-07-25T03:05:04.903 に答える