Rumah  >  Soal Jawab  >  teks badan

Gunakan laravel-translatable untuk mendapatkan artikel Laravel dalam bahasa tertentu.

<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粉598140294P粉598140294416 hari yang lalu532

membalas semua(1)saya akan balas

  • P粉541565322

    P粉5415653222023-08-01 10:27:03

    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.

    balas
    0
  • Batalbalas