mirror of
https://github.com/flarum/core.git
synced 2025-08-21 15:52:44 +02:00
Use *Raw methods instead of Expression
This commit is contained in:
@@ -92,10 +92,10 @@ class DiscussionPolicy extends AbstractPolicy
|
||||
{
|
||||
// Hide discussions which have tags that the user is not allowed to see.
|
||||
$query->whereNotExists(function ($query) use ($actor) {
|
||||
return $query->select(new Expression(1))
|
||||
return $query->selectRaw('1')
|
||||
->from('discussions_tags')
|
||||
->whereIn('tag_id', Tag::getIdsWhereCannot($actor, 'viewDiscussions'))
|
||||
->where('discussions.id', new Expression('discussion_id'));
|
||||
->whereRaw('discussions.id = discussion_id');
|
||||
});
|
||||
|
||||
// Hide discussions with no tags if the user doesn't have that global
|
||||
|
@@ -16,7 +16,6 @@ use Flarum\Tags\Tag;
|
||||
use Flarum\User\AbstractPolicy;
|
||||
use Flarum\User\User;
|
||||
use Illuminate\Database\Eloquent\Builder;
|
||||
use Illuminate\Database\Query\Expression;
|
||||
|
||||
class FlagPolicy extends AbstractPolicy
|
||||
{
|
||||
@@ -36,10 +35,10 @@ class FlagPolicy extends AbstractPolicy
|
||||
->leftJoin('posts', 'posts.id', '=', 'flags.post_id')
|
||||
->leftJoin('discussions', 'discussions.id', '=', 'posts.discussion_id')
|
||||
->whereNotExists(function ($query) use ($actor) {
|
||||
return $query->select(new Expression(1))
|
||||
return $query->selectRaw('1')
|
||||
->from('discussions_tags')
|
||||
->whereIn('tag_id', Tag::getIdsWhereCannot($actor, 'discussion.viewFlags'))
|
||||
->where('discussions.id', new Expression('discussion_id'));
|
||||
->whereRaw('discussions.id = discussion_id');
|
||||
});
|
||||
}
|
||||
}
|
||||
|
@@ -14,7 +14,6 @@ namespace Flarum\Tags\Gambit;
|
||||
use Flarum\Search\AbstractRegexGambit;
|
||||
use Flarum\Search\AbstractSearch;
|
||||
use Flarum\Tags\TagRepository;
|
||||
use Illuminate\Database\Query\Expression;
|
||||
|
||||
class TagGambit extends AbstractRegexGambit
|
||||
{
|
||||
@@ -48,17 +47,17 @@ class TagGambit extends AbstractRegexGambit
|
||||
foreach ($slugs as $slug) {
|
||||
if ($slug === 'untagged') {
|
||||
$query->orWhereNotExists(function ($query) {
|
||||
$query->select(new Expression(1))
|
||||
$query->selectRaw('1')
|
||||
->from('discussions_tags')
|
||||
->where('discussions.id', new Expression('discussion_id'));
|
||||
->whereRaw('discussions.id = discussion_id');
|
||||
});
|
||||
} else {
|
||||
$id = $this->tags->getIdForSlug($slug);
|
||||
|
||||
$query->orWhereExists(function ($query) use ($id) {
|
||||
$query->select(new Expression(1))
|
||||
$query->selectRaw('1')
|
||||
->from('discussions_tags')
|
||||
->where('discussions.id', new Expression('discussion_id'))
|
||||
->whereRaw('discussions.id = discussion_id')
|
||||
->where('tag_id', $id);
|
||||
});
|
||||
}
|
||||
|
@@ -16,7 +16,6 @@ use Flarum\Discussion\Event\Searching;
|
||||
use Flarum\Tags\Gambit\TagGambit;
|
||||
use Flarum\Tags\Tag;
|
||||
use Illuminate\Contracts\Events\Dispatcher;
|
||||
use Illuminate\Database\Query\Expression;
|
||||
|
||||
class FilterDiscussionListByTags
|
||||
{
|
||||
@@ -51,10 +50,10 @@ class FilterDiscussionListByTags
|
||||
}
|
||||
|
||||
$query->whereNotExists(function ($query) {
|
||||
return $query->select(new Expression(1))
|
||||
return $query->selectRaw('1')
|
||||
->from('discussions_tags')
|
||||
->whereIn('tag_id', Tag::where('is_hidden', 1)->pluck('id'))
|
||||
->where('discussions.id', new Expression('discussion_id'));
|
||||
->whereRaw('discussions.id = discussion_id');
|
||||
});
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user