¨4.0.1¨

This commit is contained in:
¨NW¨
2023-12-03 14:07:47 +00:00
parent c08b36d1b6
commit f35052522d
1112 changed files with 43019 additions and 24987 deletions

View File

@@ -4,6 +4,7 @@ namespace Modules\Review\Entities;
use Illuminate\Http\Request;
use Modules\User\Entities\User;
use Illuminate\Http\JsonResponse;
use Illuminate\Support\Facades\DB;
use Modules\Support\Eloquent\Model;
use Modules\Product\Entities\Product;
@@ -32,7 +33,16 @@ class Review extends Model
*
* @var array
*/
protected $appends = ['rating_percent', 'created_at_formatted'];
protected $appends = ['rating_percent', 'status', 'created_at_formatted'];
public static function countAndAvgRating(Product $product)
{
return self::select(DB::raw('count(*) as count, avg(rating) as avg_rating'))
->where('product_id', $product->id)
->first();
}
/**
* Perform any actions required after the model boots.
@@ -46,28 +56,25 @@ class Review extends Model
});
}
public static function countAndAvgRating(Product $product)
{
return self::select(DB::raw('count(*) as count, avg(rating) as avg_rating'))
->where('product_id', $product->id)
->first();
}
public function getAvgRatingAttribute($avgRating)
{
return $avgRating ?: 0;
}
public function getRatingPercentAttribute()
{
return ($this->rating / 5) * 100;
}
public function getCreatedAtFormattedAttribute()
public function getStatusAttribute()
{
return $this->created_at->toFormattedDateString();
return $this->status();
}
public function status()
{
if ($this->is_approved) {
@@ -77,21 +84,31 @@ class Review extends Model
return trans('review::statuses.unapproved');
}
public function getCreatedAtFormattedAttribute()
{
return $this->created_at->toFormattedDateString();
}
public function product()
{
return $this->belongsTo(Product::class)->withTrashed();
}
public function reviewer()
{
return $this->belongsTo(User::class, 'reviewer_id');
}
/**
* Get table data for the resource
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\JsonResponse
* @param Request $request
*
* @return JsonResponse
*/
public function table(Request $request)
{