update similar posts
This commit is contained in:
parent
b76dd41d90
commit
420b3c9d73
|
@ -22,29 +22,41 @@ class PostRepository extends ServiceEntityRepository
|
|||
{
|
||||
$query1 = $this->createQueryBuilder('p');
|
||||
$query2 = $this->createQueryBuilder('p');
|
||||
$categories = $post->getCategories()->getValues();
|
||||
$tags = $post->getTags();
|
||||
|
||||
$query1->orderBy('p.publishedAt', 'DESC');
|
||||
|
||||
foreach ($post->getTags() as $k => $entity) {
|
||||
$query1
|
||||
->orWhere('p.tags LIKE :tag'.$k)
|
||||
->setParameter(':tag'.$k, '%"'.$entity['label'].'"%')
|
||||
;
|
||||
if (count($tags)) {
|
||||
foreach ($tags as $k => $entity) {
|
||||
$query1
|
||||
->orWhere('p.tags LIKE :tag'.$k)
|
||||
->setParameter(':tag'.$k, '%"'.$entity['label'].'"%')
|
||||
;
|
||||
}
|
||||
|
||||
$search1 = $query1->getQuery()->getResult();
|
||||
} else {
|
||||
$search1 = [];
|
||||
}
|
||||
|
||||
$query2
|
||||
->orderBy('p.publishedAt', 'DESC')
|
||||
->andWhere('p.status = 1')
|
||||
->join('p.categories', 'c')
|
||||
->where('c.id IN (:ids)')
|
||||
->setParameter(':ids', array_map(
|
||||
fn ($e) => $e->getId(),
|
||||
$post->getCategories()->getValues()
|
||||
))
|
||||
;
|
||||
if (count($categories)) {
|
||||
$query2
|
||||
->orderBy('p.publishedAt', 'DESC')
|
||||
->andWhere('p.status = 1')
|
||||
->join('p.categories', 'c')
|
||||
->where('c.id IN (:ids)')
|
||||
->setParameter(':ids', array_map(
|
||||
fn ($e) => $e->getId(),
|
||||
$categories
|
||||
))
|
||||
;
|
||||
|
||||
$search2 = $query2->getQuery()->getResult();
|
||||
} else {
|
||||
$search2 = [];
|
||||
}
|
||||
|
||||
$search1 = $query1->getQuery()->getResult();
|
||||
$search2 = $query2->getQuery()->getResult();
|
||||
$now = new \DateTime();
|
||||
$posts = [];
|
||||
|
||||
|
|
Loading…
Reference in a new issue