CRM/backend/app/Models/SalesScript.php

48 خطوط
1.3 KiB
PHP

<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsToMany;
use Illuminate\Database\Eloquent\Relations\HasMany;
use Illuminate\Database\Eloquent\Relations\HasOne;
class SalesScript extends Model
{
protected $fillable = ['title', 'description', 'version', 'is_active', 'category', 'lead_source', 'checklist', 'objection_handling', 'suggested_questions', 'required_disclosures', 'is_template'];
protected function casts(): array
{
return [
'is_active' => 'boolean',
'checklist' => 'array',
'objection_handling' => 'array',
'suggested_questions' => 'array',
'required_disclosures' => 'array',
'is_template' => 'boolean',
];
}
public function campaign(): HasOne
{
return $this->hasOne(Campaign::class);
}
public function product(): HasOne
{
return $this->hasOne(Product::class);
}
public function sections(): HasMany
{
return $this->hasMany(ScriptSection::class);
}
public function assignees(): BelongsToMany
{
return $this->belongsToMany(User::class, 'sales_script_user')
->withPivot('assigned_by')
->withTimestamps();
}
}