25 lines
651 B
PHP
25 lines
651 B
PHP
<?php
|
|
|
|
namespace Modules\AI\Models;
|
|
|
|
use Illuminate\Database\Eloquent\Model;
|
|
use Illuminate\Database\Eloquent\Relations\HasMany;
|
|
use Illuminate\Database\Eloquent\Relations\MorphTo;
|
|
|
|
final class AIKnowledgeSource extends Model
|
|
{
|
|
protected $fillable = ['name', 'source_kind', 'source_type', 'source_id', 'content', 'checksum', 'metadata', 'status', 'chunk_count', 'indexed_at'];
|
|
|
|
protected $casts = ['metadata' => 'array', 'indexed_at' => 'datetime'];
|
|
|
|
public function source(): MorphTo
|
|
{
|
|
return $this->morphTo();
|
|
}
|
|
|
|
public function chunks(): HasMany
|
|
{
|
|
return $this->hasMany(AIKnowledgeChunk::class);
|
|
}
|
|
}
|