File: //home/armgroup/libs/app/Models/Score.php
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class Score extends Model
{
use HasFactory;
protected $guarded = ['id'];
protected $casts = [
'items' => 'array',
];
public const TYPE = [
[
'name' => 'بلاگ',
'show-name' => 'مطلب',
'title' => 'title',
'className' => Article::class,
],
[
'name' => 'محصولات',
'show-name' => 'محصول',
'title' => 'name',
'className' => Product::class,
],
];
public function scorable()
{
return $this->morphTo();
}
public function user()
{
return $this->belongsTo(User::class);
}
public function getScoreType()
{
return collect(self::TYPE)->firstWhere('className', $this->scorable_type);
}
}