Gunakan laravel-translatable untuk mendapatkan artikel Laravel dalam bahasa tertentu.
P粉598140294
P粉598140294 2023-07-31 15:35:41
0
1
575
<p>Saya menggunakan perpustakaan boleh terjemah laravel untuk membangunkan sistem tapak web berbilang bahasa. Dalam aplikasi web ini, tiada bahagian hadapan dan data dibaca dan ditulis melalui API. Masalah yang saya hadapi ialah saya tidak boleh mendapatkan semua rekod yang disimpan dalam pangkalan data dalam satu atau lebih bahasa, contohnya dari jadual 'blog' saya mendapat semua rekod dengan tajuk Inggeris dan Perancis. Dokumentasi untuk perpustakaan ini tidak menyebut perkara ini secara eksplisit dan saya tidak dapat membetulkannya dengan kod yang telah saya cuba. Berikut ialah contoh kod yang saya cuba, tetapi tiada yang menyelesaikan masalah saya: </p> <pre class="brush:php;toolbar:false;">Route::get('/', function () { balasan balas()->json( DB::table('blog') ->dapatkan() ->penapis(fungsi ($blog) { kembalikan $blog->getTranslations('title', ['en']); }) ); }); Laluan::get('/', function () { balasan balas()->json( DB::table('blog') ->dapatkan() ->penapis(fungsi ($blog) { return collect(json_decode($blog->title))->has('en'); }) ); }); Laluan::get('/', function () { return response()->json(Blog::titleEqualsEn()->get(), 200); });<span style="font-family:'sans serif, tahoma, verdana, helvetica';"><span style="white-space:nowrap;"> span></pra> <p><br /></p>
P粉598140294
P粉598140294

membalas semua(1)
P粉541565322

Anda boleh mengendalikan tempat untuk setiap permintaan dengan mencipta perisian tengah, seperti contoh ini:

public function handle(Request $request, Closure $next)
    {
        $locales = ['en', 'fr'];

        if($request->has('lang') && in_array($request->input('lang'), $locales)){
            App::setLocale($request->input('lang'));
        }
        return $next($request);
    }

Selepas itu, anda boleh menghantar tempat yang anda inginkan dengan mudah sebagai rentetan pertanyaan ke titik akhir anda.

GET http://localhost:8000/api/users?lang=en

Selain itu, pastikan anda menggunakan model Eloquent dan bukannya pembina pertanyaan.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan