Viewing File: /home/ubuntu/vedadeals-backend-base/app/Models/Review.php
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class Review extends Model
{
use HasFactory;
protected $hidden = ['id', 'unique_id'];
protected $appends = ['review_id', 'review_unique_id'];
protected $guarded = ['id'];
public function getReviewIdAttribute() {
return $this->id;
}
public function getReviewUniqueIdAttribute() {
return $this->unique_id;
}
public function product() {
return $this->belongsTo(Product::class)->withDefault();
}
public function user() {
return $this->belongsTo(User::class)->withDefault();
}
public function reviewFiles() {
return $this->hasMany(ReviewFile::class);
}
public function reviewFile() {
return $this->hasOne(ReviewFile::class)->where(['is_default' => YES])->withDefault();
}
public static function boot() {
parent::boot();
static::creating(function ($model) {
$model->attributes['unique_id'] = "R-".uniqid();
});
static::created(function($model) {
$model->attributes['unique_id'] = "R-".$model->attributes['id']."-".uniqid();
$model->save();
});
static::updating(function ($model) {
});
static::deleting(function ($model) {
foreach($model->reviewFiles as $reviewFile) {
$reviewFile->delete();
}
});
}
}
Back to Directory
File Manager