@@ -15,35 +15,43 @@ trait Mailable
15
15
*/
16
16
public static function bootMailable ()
17
17
{
18
- NovaMailTemplate::whereHas ('events ' , function ($ query ) {
19
- $ query ->whereModel (get_called_class ());
20
- })->each (function (NovaMailTemplate $ novaMailTemplate ) {
21
- $ novaMailTemplate ->events
22
- ->filter (function ($ event ) {
23
- return collect (config ('nova_mail.eventables ' ))->contains ($ event ->model );
24
- })
25
- ->each (function ($ event ) use ($ novaMailTemplate ) {
26
- if ($ event ->column ) {
27
- $ event ->model ::updated (function ($ model ) use ($ novaMailTemplate , $ event ) {
28
- if ($ model ->isDirty ($ event ->column )) {
29
- $ value = is_bool ($ model ->{$ event ->column })
30
- ? filter_var ($ event ->value , FILTER_VALIDATE_BOOLEAN )
31
- : $ event ->value ;
18
+ try {
19
+ NovaMailTemplate::whereHas ('events ' , function ($ query ) {
20
+ $ query ->whereModel (get_called_class ());
21
+ })->each (function (NovaMailTemplate $ novaMailTemplate ) {
22
+ $ novaMailTemplate ->events
23
+ ->filter (function ($ event ) {
24
+ return collect (config ('nova_mail.eventables ' ))->contains ($ event ->model );
25
+ })
26
+ ->each (function ($ event ) use ($ novaMailTemplate ) {
27
+ if ($ event ->column ) {
28
+ $ event ->model ::updated (function ($ model ) use ($ novaMailTemplate , $ event ) {
29
+ if ($ model ->isDirty ($ event ->column )) {
30
+ $ value = is_bool ($ model ->{$ event ->column })
31
+ ? filter_var ($ event ->value , FILTER_VALIDATE_BOOLEAN )
32
+ : $ event ->value ;
32
33
33
- if (is_null ($ event ->value ) || $ model ->{$ event ->column } === $ value ) {
34
- $ model ->sendMailTemplate ($ novaMailTemplate , $ event );
34
+ if (is_null ($ event ->value ) || $ model ->{$ event ->column } === $ value ) {
35
+ $ model ->sendMailTemplate ($ novaMailTemplate , $ event );
36
+ }
35
37
}
36
- }
37
- });
38
+ });
38
39
39
- return ;
40
- }
40
+ return ;
41
+ }
41
42
42
- $ event ->model ::{$ event ->name }(function ($ model ) use ($ novaMailTemplate , $ event ) {
43
- $ model ->sendMailTemplate ($ novaMailTemplate , $ event );
43
+ $ event ->model ::{$ event ->name }(function ($ model ) use ($ novaMailTemplate , $ event ) {
44
+ $ model ->sendMailTemplate ($ novaMailTemplate , $ event );
45
+ });
44
46
});
45
- });
46
- });
47
+ });
48
+ } catch (\Illuminate \Database \QueryException $ exception ) {
49
+ \Log::info (
50
+ 'Could not bind NovaMailEvents. '
51
+ . 'NovaMail tables might not have migrated yet, '
52
+ . 'typical when running fresh migrations during testing or local development. '
53
+ );
54
+ }
47
55
}
48
56
49
57
/**
0 commit comments