Софтуерно Инженерство
Loading...
efrdimitrov avatar efrdimitrov 1 Точки

Сортиране на събития

Здравейте, след няколко дни лутане и търсене реших да се обърна към вас. Имам личен сайт, проекта е написан на symfony. Имам събития като рождени дни и други и искам да ги подредя по определен начин. Първо започваме от днешната дата ако има и тези които са най-скоро като не се взима под внимание годината. Също така да не се показват събития, които са точно след една година и вски след това. Ще ви дам пример за да стане по ясно, трябва да са подредени така:

1990-03-20, 1980-12-31, 2020-01-01, 2021-03-19, 1970-03-19 

Като последните две няма значение кое е по напред, просто за примера и ако има събитие 2021-03-20 да не се показва днес а утре разбира се. Имах работещ sql код преди да направя проекта, но не мога да го изпозвам сега, защото ми дава грешка.

SELECT * FROM events ORDER BY DAYOFYEAR(date) < DAYOFYEAR(CURDATE()), DAYOFYEAR(date)

Сега стигнах до това, но ми дава само тези с/след днешната а другите преди нея не, не знам как да го направя.

      $query = $em->createQuery("
        SELECT e FROM App\Entity\Event e
        WHERE DAYOFYEAR(e.date) >= DAYOFYEAR(CURRENT_DATE())
        ORDER BY DAYOFYEAR(e.date)
        ");

Благодаря на всички за помощта предварително!

Тагове:
0
PHP Databases Basics - MySQL
dvdty avatar dvdty 483 Точки

SELECT *
FROM events
WHERE event_date < DATE_ADD(curdate(), INTERVAL 1 year)
ORDER BY day(event_date)

0
efrdimitrov avatar efrdimitrov 1 Точки

https://ibb.co/6HGgDf9

Дава ми грешка, сигурно трябва да сменя createQuery. От този DQL е според мен което не знам какво означава doctrine query language или data query language, но все тая. Ще се опитам с createQueryBuilder.

0