X7ROOT File Manager
Current Path:
/home/gfecatvj/sites/realesbar/platform/plugins/vendor/src/Models
home
/
gfecatvj
/
sites
/
realesbar
/
platform
/
plugins
/
vendor
/
src
/
Models
/
📁
..
📄
Package.php
(1.18 KB)
📄
Transaction.php
(1.5 KB)
📄
Vendor.php
(3.35 KB)
📄
VendorActivityLog.php
(1.53 KB)
Editing: Vendor.php
<?php namespace Botble\Vendor\Models; use Botble\Base\Supports\Avatar; use Botble\Media\Models\MediaFile; use Botble\RealEstate\Models\Property; use Botble\Vendor\Notifications\ResetPasswordNotification; use Illuminate\Database\Eloquent\Relations\BelongsToMany; use Illuminate\Foundation\Auth\User as Authenticatable; use Illuminate\Notifications\Notifiable; use Laravel\Passport\HasApiTokens; use Storage; /** * @mixin \Eloquent */ class Vendor extends Authenticatable { use Notifiable; use HasApiTokens; /** * @var string */ protected $table = 'vendors'; /** * The attributes that are mass assignable. * * @var array */ protected $fillable = [ 'first_name', 'last_name', 'email', 'password', 'avatar_id', 'dob', 'phone', 'description', 'gender', 'credits', ]; /** * The attributes that should be hidden for arrays. * * @var array */ protected $hidden = [ 'password', 'remember_token', ]; /** * @var array */ protected $dates = [ 'created_at', 'updated_at', 'dob', 'package_start_date', 'package_end_date', ]; /** * Send the password reset notification. * * @param string $token * @return void */ public function sendPasswordResetNotification($token) { $this->notify(new ResetPasswordNotification($token)); } /** * @return \Illuminate\Database\Eloquent\Relations\BelongsTo */ public function avatar() { return $this->belongsTo(MediaFile::class)->withDefault(); } /** * @return \Illuminate\Contracts\Routing\UrlGenerator|string */ public function getAvatarUrlAttribute() { return $this->avatar->url ? Storage::url($this->avatar->url) : (new Avatar)->create($this->getFullName())->toBase64(); } /** * Always capitalize the first name when we retrieve it * @param string $value * @return string */ public function getFirstNameAttribute($value) { return ucfirst($value); } /** * Always capitalize the last name when we retrieve it * @param string $value * @return string */ public function getLastNameAttribute($value) { return ucfirst($value); } /** * @return string */ public function getFullName() { return ucfirst($this->first_name) . ' ' . ucfirst($this->last_name); } /** * @return \Illuminate\Database\Eloquent\Relations\MorphMany */ public function properties() { return $this->morphMany(Property::class, 'author'); } /** * @return bool */ public function canPost(): bool { return $this->credits > 0; } /** * @param int $value * @return int */ public function getCreditsAttribute($value) { return $value ? $value : 0; } /** * @return \Illuminate\Database\Eloquent\Relations\HasMany */ public function transactions() { return $this->hasMany(Transaction::class, 'account_id'); } /** * @return BelongsToMany */ public function packages(): BelongsToMany { return $this->belongsToMany(Package::class, 'vendor_packages', 'vendor_id', 'package_id'); } }
Upload File
Create Folder