Задать вопрос
@Zoten
Noob

Как вывести определенное количество записей из БД?

Всем привет!
Создал в билдере плагин (October CMS), необходимо выводить записи на странице.
Делаю такой запрос:
{% for record in records if record.status == 1 and record.type_post == 'news' %}
{% endfor %}
Он выводит все записи с этим условием. А как вывести только определённое количество записей (например последние 3) с этим условием или все кроме последних трёх?
Пробовал использовать slice
{% for record in records|slice(0, 2) if record.status == 1 and record.type_post == 'news' %}
{% endfor %}
но если например в очереди третьем идет запись которая не попадает в условие, то slice тоже учитывает его и цикл выводит всего две записи которые попадают в условие.
  • Вопрос задан
  • 660 просмотров
Подписаться 1 Средний Комментировать
Решения вопроса 1
@Zoten Автор вопроса
Noob
Всё, разобрался с Builder'ом, для формирования запросов использовать нужно Query scopes https://octobercms.com/docs/database/model#query-scopes
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Austin_Powers
@Austin_Powers
Web developer (Symfony, Go, Vue.js)
Можете использовать внутри for переменную loop для вывода каких то определенных элементов коллекции.
Но в целом, какая то спорная практика, вытаскивать все записи из БД и фильтровать их потом в шаблоне. Лучше сделать это на этапе запроса к БД.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы