mirror of
https://github.com/flarum/framework.git
synced 2025-04-24 21:54:04 +08:00
perf: Eager load tags state with actor id (#149)
This commit is contained in:
parent
892259f448
commit
cabe25acb4
@ -16,6 +16,7 @@ use Flarum\Discussion\Filter\DiscussionFilterer;
|
||||
use Flarum\Discussion\Search\DiscussionSearcher;
|
||||
use Flarum\Extend;
|
||||
use Flarum\Flags\Api\Controller\ListFlagsController;
|
||||
use Flarum\Http\RequestUtil;
|
||||
use Flarum\Tags\Access;
|
||||
use Flarum\Tags\Api\Controller;
|
||||
use Flarum\Tags\Api\Serializer\TagSerializer;
|
||||
@ -28,6 +29,7 @@ use Flarum\Tags\LoadForumTagsRelationship;
|
||||
use Flarum\Tags\Post\DiscussionTaggedPost;
|
||||
use Flarum\Tags\Query\TagFilterGambit;
|
||||
use Flarum\Tags\Tag;
|
||||
use Psr\Http\Message\ServerRequestInterface;
|
||||
|
||||
return [
|
||||
(new Extend\Frontend('forum'))
|
||||
@ -71,7 +73,11 @@ return [
|
||||
|
||||
(new Extend\ApiController(FlarumController\ListDiscussionsController::class))
|
||||
->addInclude(['tags', 'tags.state', 'tags.parent'])
|
||||
->load('tags'),
|
||||
->loadWhere('tags', function ($query, ?ServerRequestInterface $request, array $relations) {
|
||||
if ($request && in_array('tags.state', $relations, true)) {
|
||||
$query->withStateFor(RequestUtil::getActor($request));
|
||||
}
|
||||
}),
|
||||
|
||||
(new Extend\ApiController(FlarumController\ShowDiscussionController::class))
|
||||
->addInclude(['tags', 'tags.state', 'tags.parent']),
|
||||
|
Loading…
x
Reference in New Issue
Block a user