Verwenden Sie laravel-translatable, um Laravel-Artikel in einer bestimmten Sprache zu erhalten.
<p>Ich verwende die laravel-translatable-Bibliothek, um ein mehrsprachiges Website-System zu entwickeln. In dieser Webanwendung gibt es kein Frontend und Daten werden über die API gelesen und geschrieben. Das Problem, mit dem ich konfrontiert bin, besteht darin, dass ich nicht alle in der Datenbank gespeicherten Datensätze in einer oder mehreren Sprachen abrufen kann. Aus der Tabelle „Blog“ erhalte ich beispielsweise alle Datensätze mit den Titeln Englisch und Französisch. In der Dokumentation zu dieser Bibliothek wird dies nicht ausdrücklich erwähnt, und ich konnte es mit dem Code, den ich ausprobiert habe, nicht beheben. Hier sind Codebeispiele, die ich ausprobiert habe, aber keines hat mein Problem gelöst: </p>
<pre class="brush:php;toolbar:false;">Route::get('/', function () {
return Response()->json(
DB::table('Blogs')
->get()
->filter(function ($blog) {
return $blog->getTranslations('title', ['en']);
})
);
});
Route::get('/', function () {
return Response()->json(
DB::table('Blogs')
->get()
->filter(function ($blog) {
return Collect(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></ span></pre>
<p><br /></p>