Scopes
translatedIn(?string $locale = null)
Returns all posts being translated in english
Post::translatedIn('en')->get();
notTranslatedIn(?string $locale = null)
Returns all posts not being translated in english
Post::notTranslatedIn('en')->get();
translated()
Returns all posts with existing translations
Post::translated()->get();
withTranslation()
Eager loads translation relationship only for the default and fallback (if enabled) locale
Post::withTranslation()->get();
listsTranslations(string $translationField)
Returns an array containing pairs of post ids and the translated title attribute
Post::listsTranslations('title')->get()->toArray();
[
['id' => 1, 'title' => 'My first post'],
['id' => 2, 'title' => 'My second post']
]
where translation
Filters posts by checking the translation against the given value
whereTranslation(string $translationField, $value, ?string $locale = null)
Post::whereTranslation('title', 'My first post')->first();
orWhereTranslation(string $translationField, $value, ?string $locale = null)
Post::whereTranslation('title', 'My first post')
->orWhereTranslation('title', 'My second post')
->get();
whereTranslationLike(string $translationField, $value, ?string $locale = null)
Post::whereTranslationLike('title', '%first%')->first();
orWhereTranslationLike(string $translationField, $value, ?string $locale = null)
Post::whereTranslationLike('title', '%first%')
->orWhereTranslationLike('title', '%second%')
->get();
orderByTranslation(string $translationField, string $sortMethod = 'asc')
Sorts the model by a given translation column value
Post::orderByTranslation('title')->get()
Last updated
Was this helpful?