public function getPreferenceByKeyName($preferenceKeyName) { $preference = Preference::where('keyName', $preferenceKeyName)->first(); if ($preference != null) { $userPreference = PreferenceUser::where('preference_id', $preference->id)->where('user_id', $this->id)->first(); if ($userPreference == null) { $userPreference = new PreferenceUser(); $userPreference->user_id = $this->id; $userPreference->preference_id = $preference->id; $userPreference->value = $preference->default; $userPreference->save(); } return $userPreference; } return null; }