HEX
Server: LiteSpeed
System: Linux s1049.use1.mysecurecloudhost.com 4.18.0-477.27.2.lve.el8.x86_64 #1 SMP Wed Oct 11 12:32:56 UTC 2023 x86_64
User: xedaptot (3356)
PHP: 8.3.31
Disabled: NONE
Upload Files
File: /home/xedaptot/be.naniguide.com/app/Model/AdAbVariant.php
<?php

namespace App\Model;

use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use App\Library\Traits\HasUid;

/**
 * @property int $id
 * @property string $uid
 * @property int $ad_ab_test_id
 * @property string $name
 * @property int $weight
 * @property int $impressions
 * @property int $clicks
 * @property float $spend
 * @property int $conversions
 * @property float $ctr
 * @property bool $is_winner
 * @property array<string,mixed>|null $creative_data
 */
class AdAbVariant extends Model
{
    use HasFactory;
    use HasUid;

    const STATUS_ACTIVE = 'active'; // for HasUid trait compatibility

    protected $table = 'ad_ab_variants';

    protected $fillable = ['uid', 'ad_ab_test_id', 'name', 'weight', 'impressions', 'clicks', 'spend', 'conversions', 'ctr', 'is_winner', 'creative_data'];

    protected $casts = ['creative_data' => 'json', 'spend' => 'decimal:2', 'ctr' => 'decimal:4', 'is_winner' => 'boolean'];

    public function abTest() { return $this->belongsTo(AdAbTest::class, 'ad_ab_test_id'); }

    protected static function newFactory()
    {
        return \Database\Factories\AdAbVariantFactory::new();
    }
}