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:
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>
Anda boleh mengendalikan tempat untuk setiap permintaan dengan mencipta perisian tengah, seperti contoh ini:
Selepas itu, anda boleh menghantar tempat yang anda inginkan dengan mudah sebagai rentetan pertanyaan ke titik akhir anda.
Selain itu, pastikan anda menggunakan model Eloquent dan bukannya pembina pertanyaan.