ufutx.dma/app/Models/Survey.php
2026-03-04 14:42:40 +08:00

46 lines
1.1 KiB
PHP

<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Casts\Attribute;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes;
class Survey extends BaseModel
{
use HasFactory, SoftDeletes;
protected function content(): Attribute
{
return Attribute::make(
get: fn($value) => json_decode($value, true),
);
}
public function scopeKeyword($query)
{
$keyword = request()->keyword;
if ($keyword) {
$keyword = trim($keyword);
return $query->where('title', 'like', '%' . $keyword . '%');
}
return $query;
}
public function orderSurveys()
{
return $this->hasMany(OrderSurvey::class);
}
public function scopeOrders($query)
{
$chat_id = request()->chat_id;
return $query->with([
'orderSurveys' => function ($sql) use ($chat_id) {
$sql->where('chat_id', $chat_id);
},
'orderSurveys:survey_id,order_id,chat_id'
]);
}
}