This commit is contained in:
dimon8
2026-01-07 06:44:07 +00:00
parent 368ad0a220
commit 31b79d70c5
6 changed files with 144 additions and 7 deletions

View File

@@ -2,9 +2,38 @@
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class Component extends Model
{
}
use HasFactory;
protected $fillable = [
'name',
'component_type_id',
'price',
'specifications',
'is_official',
'created_by_user_id',
];
protected $casts = [
'specifications' => 'array', // Автоматически преобразует JSON в массив
'is_official' => 'boolean',
'created_at' => 'datetime',
'updated_at' => 'datetime',
];
// Связь с типом компонента
public function type()
{
return $this->belongsTo(ComponentType::class, 'component_type_id');
}
// Связь с пользователем (если добавил пользователь)
public function createdBy()
{
return $this->belongsTo(User::class, 'created_by_user_id');
}
}

View File

@@ -0,0 +1,15 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class ComponentType extends Model
{
protected $fillable = ['name', 'code'];
protected $casts = [
'created_at' => 'datetime',
'updated_at' => 'datetime',
];
}

31
app/Models/PCBuild.php Normal file
View File

@@ -0,0 +1,31 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class PcBuild extends Model
{
use HasFactory;
protected $fillable = [
'user_id',
'name',
'description',
'is_ai_generated',
'ai_prompt',
];
protected $casts = [
'is_ai_generated' => 'boolean',
'created_at' => 'datetime',
'updated_at' => 'datetime',
];
// Связь с пользователем
public function user()
{
return $this->belongsTo(User::class);
}
}