laravel-translatable を使用して、特定の言語で Laravel 記事を取得します。
P粉598140294
P粉598140294 2023-07-31 15:35:41
0
1
579
<p>私は、laravel 翻訳可能ライブラリを使用して、多言語 Web サイト システムを開発しています。この Web アプリケーションにはフロントエンドがなく、データは API を通じて読み書きされます。私が直面している問題は、データベースに保存されているすべてのレコードを 1 つ以上の言語で取得できないことです。たとえば、「ブログ」テーブルからは英語とフランス語のタイトルを持つすべてのレコードを取得しています。このライブラリのドキュメントにはこれについて明示的に言及されておらず、私が試したコードでは修正できませんでした。以下に私が試したコード例を示しますが、問題を解決するものはありませんでした: </p> <pre class="brush:php;toolbar:false;">Route::get('/', function () { 応答を返す()->json( DB::table('ブログ') ->get() ->filter(関数 ($blog) { return $blog->getTranslations('title', ['en']); }) ); }); Route::get('/', function () { 応答を返す()->json( DB::table('ブログ') ->get() ->filter(関数 ($blog) { returncollect(json_decode($blog->title))->has('en'); }) ); }); Route::get('/', function () { return response()->json(Blog::titleEqualsEn()->get(), 200); });<span style="font-family:'sans serif、tahoma、verdana、helvetica';"><span style="white-space:nowrap;"> </span></スパン></pre> <p><br /></p>
P粉598140294
P粉598140294

全員に返信(1)
P粉541565322

次の例のようなミドルウェアを作成することで、各リクエストのロケールを処理できます。 リーリー

その後、目的のロケールをクエリ文字列としてエンドポイントに簡単に渡すことができます。

リーリー

また、クエリ ビルダーの代わりに Eloquent モデルを必ず使用してください。

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート