28 lines
586 B
PHP
28 lines
586 B
PHP
<?php
|
|
|
|
namespace App\Services;
|
|
|
|
use App\Models\Article;
|
|
use App\Models\QuickReply;
|
|
|
|
class QuickReplyResolver
|
|
{
|
|
public function resolveForArticle(?Article $article): ?QuickReply
|
|
{
|
|
if ($article === null) {
|
|
return null;
|
|
}
|
|
|
|
if (! $article->relationLoaded('quickReplies')) {
|
|
$article->load('quickReplies');
|
|
}
|
|
|
|
$quickReply = $article->quickReplies
|
|
->where('is_active', true)
|
|
->sortBy('title')
|
|
->first();
|
|
|
|
return $quickReply instanceof QuickReply ? $quickReply : null;
|
|
}
|
|
}
|