Задать вопрос
  • Перенаправление всех запрос на папку кроме определенных?

    @bondle Автор вопроса
    Я, который столкнется с тем же вопросом в будущем, лови
    RewriteEngine On
    
    RewriteCond %{REQUEST_URI} !^/scr
    RewriteCond %{DOCUMENT_ROOT}/public/$1/ !-d [NC]
    RewriteRule ^((?!public/).*?)/?$ public/$1 [L,NC]
    
    RewriteCond %{REQUEST_URI} !^/scr
    RewriteCond %{DOCUMENT_ROOT}/public/$1 -d [NC]
    RewriteRule ^((?!public/).+?)/?$ public/$1/ [L,NC]

    А если вы считаете, что это решение не верно, пожалуйста, подскажите в комментах или ответах верное
    Ответ написан
    Комментировать
  • Как будет выглядеть запрос с QueryBuilder?

    @bondle Автор вопроса
    В дополнению к прошлому - нагуглил, что doctrine не поддерживает подзапрос, поэтому пришлось калдовать, получилось так:
    $conn = $this->getEntityManager()->getConnection();
    
            // doctrine not support rand() and subqueries
            $stmt = $conn->prepare('select RAND() as rand');
            $stmt->execute();
            $random = $stmt->fetchColumn();
    
            $stmt = $conn->prepare('SELECT MAX(id) as id FROM game');
            $stmt->execute();
            $max = $stmt->fetchColumn();
            $randomId = $random * $max;
    
    
            $qb = $this->createQueryBuilder('g')
                ->join('App\Entity\GameBuffer', 'gb')
                ->where('g.id >= :maxId')
                ->andWhere('g.startTime > :from')
                ->andWhere('g.startTime < :to')
                ->andWhere('gb.source = :source')
                ->setParameters([
                    'from' => '2020-07-28 10:53:46',
                    'to' => '2020-07-28 12:53:46',
                    'maxId' => $randomId,
                    'source' => 1
                ])
                ->orderBy('g.id', 'asc')
            ->setMaxResults(1);
    
            $query = $qb->getQuery();
            $res = $query->execute();
    
            return count($res) > 0 ? $res[0] : null;


    Сначала получает случайное число через mysql, потом максимальный id, перемножаем и делаем запрос с готовыми данными.
    Ответ написан
  • Можно ли использовать Doctrine для существующей базы?

    @bondle Автор вопроса
    Ответ написан
    Комментировать