From 21408198e86c4f77a02173e1a2224813edc08bbe Mon Sep 17 00:00:00 2001 From: Ron Rise Date: Tue, 21 Oct 2025 12:46:00 -0400 Subject: [PATCH 1/2] added example model --- src/Models/Model.php | 6 ++++++ src/Models/User.php | 49 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 55 insertions(+) create mode 100644 src/Models/User.php diff --git a/src/Models/Model.php b/src/Models/Model.php index 3deb36b..0ef857f 100644 --- a/src/Models/Model.php +++ b/src/Models/Model.php @@ -6,6 +6,12 @@ namespace Siteworxpro\App\Models; use Illuminate\Database\Eloquent\Model as ORM; +/** + * Class Model + * + * @package Siteworxpro\App\Models + */ abstract class Model extends ORM { + protected $dateFormat = 'Y-m-d H:i:s'; } diff --git a/src/Models/User.php b/src/Models/User.php new file mode 100644 index 0000000..7b84215 --- /dev/null +++ b/src/Models/User.php @@ -0,0 +1,49 @@ + 'datetime', + ]; + + protected $hidden = [ + 'password', + ]; + + protected $fillable = [ + 'first_name', + 'last_name', + 'email', + 'password', + ]; + + public function getFullNameAttribute(): string + { + return "$this->first_name $this->last_name"; + } + + public function getFormattedEmailAttribute(): string + { + return sprintf( + '%s <%s>', + $this->getFullNameAttribute(), + strtolower($this->email) + ); + } +} -- 2.49.1 From 79746674322f6d2f93f0eac775b0cbcf6b4e7c0e Mon Sep 17 00:00:00 2001 From: Ron Rise Date: Tue, 21 Oct 2025 12:46:55 -0400 Subject: [PATCH 2/2] feat: add full_name and formatted_email properties to User model --- src/Models/User.php | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/Models/User.php b/src/Models/User.php index 7b84215..53cca25 100644 --- a/src/Models/User.php +++ b/src/Models/User.php @@ -15,6 +15,9 @@ use Carbon\Carbon; * @property string $email * @property string $password * @property Carbon $created_at + * + * @property-read string $full_name + * @property-read string $formatted_email */ class User extends Model { -- 2.49.1