<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\HasOne;
/**
* @method static where(string $string, string $uid)
* @method static create(array $array)
* @method static whereIn(string $string, $contact_groups)
*/
class ContactGroupsOptinKeywords extends Model
{
use HasFactory;
protected $table = 'contact_groups_optin_keywords';
protected $fillable = [
'contact_group',
'keyword',
];
public static function boot()
{
parent::boot();
// Create uid when creating list.
static::creating(function ($item) {
// Create new uid
$uid = uniqid();
while (self::where('uid', $uid)->count() > 0) {
$uid = uniqid();
}
$item->uid = $uid;
});
}
/**
* @return HasOne
*/
public function ContactGroups(): HasOne
{
return $this->hasOne(ContactGroups::class, 'id', 'contact_group');
}
/**
* @return string
*/
public function __toString(): string
{
return $this->name;
}
}