芝麻web文件管理V1.00
编辑当前文件:/home/forge/stage.sksb.smartcon-survey.com/app/Models/Interview.php
'array', ]; public function scopeFilter(Builder $query, $filters) { return $filters->apply($query); } public function scopeResultsByQuarter(Builder $query): void { $query->select( DB::raw('QUARTER(created_at) as quarter, YEAR(created_at) as year, count(*) as count') ) ->orderBy('year') ->orderBy('quarter') ->groupBy('quarter') ->groupBy('year'); } public function scopeLast10Days(Builder $query): void { $query->whereBetween('created_at', [ Carbon::now()->subDays(10), Carbon::now(), ]); } public function scopeWhereQuestion(Builder $query, string $question, array $value): void { $query->whereIn('answers->'.$question, $value); } public function scopeQuestionResults(Builder $query, string $question) { $query->select('answers->'.$question.' as answer', DB::raw('count(*) as count')) // TODO: refactor to global scope ->where('is_test', 0) ->orderBy('answer') ->groupBy('answer'); } public function scopeByQuarter(Builder $query, ?int $quarter = null, ?int $year = null): void { if ($quarter) { $query->whereRaw("QUARTER(created_at) = $quarter"); } if ($year) { $query->whereRaw("YEAR(created_at) = $year"); } } public function contact(): BelongsTo { return $this->belongsTo(Contact::class); } public function department(): BelongsTo { return $this->belongsTo(Department::class); } public function topic(): BelongsTo { return $this->belongsTo(Topic::class); } public function comments(): HasOne { return $this->hasOne(Comment::class); } }