2
2
3
3
namespace A17 \Twill \Models \Behaviors ;
4
4
5
+ use A17 \Twill \Commands \Build ;
5
6
use A17 \Twill \Facades \TwillCapsules ;
6
7
use Astrotomic \Translatable \Translatable ;
8
+ use Illuminate \Database \Eloquent \Builder ;
7
9
use Illuminate \Database \Query \JoinClause ;
8
10
use Illuminate \Support \Collection ;
9
11
@@ -27,21 +29,16 @@ public function getTranslationModelNameDefault()
27
29
return TwillCapsules::getCapsuleForModel (class_basename ($ this ))->getTranslationModel ();
28
30
}
29
31
30
- /**
31
- * @param \Illuminate\Database\Eloquent\Builder $query
32
- * @param string|null $locale
33
- * @return \Illuminate\Database\Eloquent\Builder|null
34
- */
35
- public function scopeWithActiveTranslations ($ query , $ locale = null )
32
+ public function scopeWithActiveTranslations (Builder $ query , ?string $ locale = null ): Builder
36
33
{
37
34
if (method_exists ($ query ->getModel (), 'translations ' )) {
38
- $ locale = $ locale == null ? app ()->getLocale () : $ locale ;
35
+ $ locale = $ locale ?? app ()->getLocale ();
39
36
40
37
$ query ->whereHas ('translations ' , function ($ query ) use ($ locale ) {
41
38
$ query ->whereActive (true );
42
39
$ query ->whereLocale ($ locale );
43
40
44
- if (config ('translatable.use_property_fallback ' , false )) {
41
+ if (config ('translatable.use_fallback ' ) && config ( ' translatable. use_property_fallback ' , false )) {
45
42
$ query ->orWhere ('locale ' , config ('translatable.fallback_locale ' ));
46
43
}
47
44
});
@@ -50,11 +47,13 @@ public function scopeWithActiveTranslations($query, $locale = null)
50
47
$ query ->whereActive (true );
51
48
$ query ->whereLocale ($ locale );
52
49
53
- if (config ('translatable.use_property_fallback ' , false )) {
50
+ if (config ('translatable.use_fallback ' ) && config ( ' translatable. use_property_fallback ' , false )) {
54
51
$ query ->orWhere ('locale ' , config ('translatable.fallback_locale ' ));
55
52
}
56
53
}]);
57
54
}
55
+
56
+ return $ query ;
58
57
}
59
58
60
59
/**
0 commit comments