1414use Illuminate \Database \Eloquent \Relations \HasOne ;
1515use UserFrosting \Sprinkle \Account \Database \Models \User ;
1616
17- trait LinkMemberAux
18- {
19- /**
20- * The "booting" method of the trait.
21- */
22- protected static function bootLinkMemberAux (): void
23- {
24- /**
25- * Create a new MemberAux if necessary, and save the associated member data every time.
26- */
27- static ::saved (function ($ member ) {
28- $ member ->createAuxIfNotExists ();
29-
30- if ($ member ->auxType ) {
31- // Set the aux PK, if it hasn't been set yet
32- if (!$ member ->aux ->id ) {
33- $ member ->aux ->id = $ member ->id ;
34- }
35-
36- $ member ->aux ->save ();
37- }
38- });
39- }
40- }
41-
4217/**
4318 * @property MemberAux $aux
4419 * @property string $city
4520 * @property string $country
4621 */
4722class Member extends User
4823{
49- use LinkMemberAux;
50-
5124 protected $ fillable = [
5225 'user_name ' ,
5326 'first_name ' ,
5427 'last_name ' ,
5528 'email ' ,
5629 'locale ' ,
57- 'theme ' ,
5830 'group_id ' ,
5931 'flag_verified ' ,
6032 'flag_enabled ' ,
@@ -76,6 +48,23 @@ protected static function boot()
7648 static ::addGlobalScope (new MemberAuxScope ());
7749 }
7850
51+ /**
52+ * Create a new MemberAux if necessary, and save the associated member data every time.
53+ */
54+ protected static function booted (): void
55+ {
56+ static ::saved (function (Member $ member ) {
57+ $ member ->createAuxIfNotExists ();
58+
59+ // Set the aux PK, if it hasn't been set yet
60+ if ($ member ->aux ->id !== 0 ) {
61+ $ member ->aux ->id = $ member ->id ;
62+ }
63+
64+ $ member ->aux ->save ();
65+ });
66+ }
67+
7968 /**
8069 * Custom mutator for Member property.
8170 */
0 commit comments