����JFIF��x�x����'
| Server IP : 78.140.185.180 / Your IP : 216.73.216.170 Web Server : LiteSpeed System : Linux cpanel13.v.fozzy.com 4.18.0-513.11.1.lve.el8.x86_64 #1 SMP Thu Jan 18 16:21:02 UTC 2024 x86_64 User : builderbox ( 1072) PHP Version : 7.3.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /proc/1630575/root/proc/1630575/root/home/builderbox/./www/common/Comments/ |
Upload File : |
<?php
namespace Common\Comments;
use App\User;
use Common\Files\Traits\HandlesEntryPaths;
use Eloquent;
use Carbon\Carbon;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Eloquent\Relations\MorphTo;
/**
* App\Comment
*
* @property int $id
* @property int $user_id
* @property Carbon|null $created_at
* @property Carbon|null $updated_at
* @property string content
* @method Comment rootOnly()
* @method Comment childrenOnly()
* @mixin Eloquent
* @property string $content
* @property int|null $parent_id
* @property string $path
* @property int $commentable_id
* @property string $commentable_type
* @property-read Model|\Eloquent $commentable
* @property-read mixed $depth
* @property-read User $user
* @method static Builder|Comment allChildren()
* @method static Builder|Comment allParents()
* @method static Builder|Comment newModelQuery()
* @method static Builder|Comment newQuery()
* @method static Builder|Comment query()
*/
class Comment extends Model
{
use HandlesEntryPaths, HasFactory;
protected $guarded = ['id'];
protected $hidden = [
'commentable_type',
'commentable_id',
'path',
];
protected $casts = [
'id' => 'integer',
'user_id' => 'integer',
'deleted' => 'boolean'
];
protected $appends = ['depth'];
public function user(): BelongsTo {
return $this->belongsTo(User::class);
}
public function commentable(): MorphTo {
return $this->morphTo();
}
public function scopeRootOnly(Builder $builder)
{
return $builder->whereNull('parent_id');
}
public function scopeChildrenOnly(Builder $builder)
{
return $builder->whereNotNull('parent_id');
}
public function getDepthAttribute()
{
return substr_count($this->getRawOriginal('path'), '/');
}
public function toSearchableArray(): array
{
return [
'id' => $this->id,
'content' => $this->content,
'parent_id' => $this->parent_id,
'user_id' => $this->user_id,
'deleted' => $this->deleted,
'commentable_id' => $this->commentable_id,
'commentable_type' => $this->commentable_type,
'created_at' => $this->created_at->timestamp ?? '_null',
'updated_at' => $this->updated_at->timestamp ?? '_null',
];
}
public static function filterableFields(): array
{
return [
'id',
'parent_id',
'user_id',
'deleted',
'commentable_id',
'commentable_type',
'created_at',
'updated_at',
];
}
protected static function newFactory()
{
return CommentFactory::new();
}
}