Как запросить сводную таблицу в Adonis Js - PullRequest
0 голосов
/ 09 июля 2020

У меня есть сводная таблица category_post, которая содержит post_id и category_id. У меня также есть модель сообщения

categories(){

      return this.belongsToMany('App/Models/Category')

    }

Категория

posts(){

      return this.belongsToMany('App/Models/Post')

    }

Я пытаюсь l oop все сообщения, относящиеся к категории, когда пользователь посещает этот маршрут localhost:3333/category/news

1 Ответ

0 голосов
/ 10 июля 2020

Вы можете использовать lucids, где должен получить все сообщения из указанной c категории.

https://adonisjs.com/docs/4.1/relationships#_wherehas

const posts = await Post
  .query()
  .whereHas('category', (builder) => {
    builder.where('slug', 'news')
  })
  .fetch()

Или, если вы уже загрузили категорию , вы также можете eagerLoad сообщения для него, используя:

https://adonisjs.com/docs/4.1/relationships#_eager_loading

const category = await Category.query().where('slug', 'news').firstOrFail()
const posts = await category.posts().fetch()

Проверьте документы для .wherePivot, также это может быть полезно для вас: https://adonisjs.com/docs/4.1/relationships#_querying_pivot_table

...