Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 24.06.2020 21:44:50

Как сделать строгую выборку по списку значений?

Уважаемое сообщество, у кого есть свободная минутка, просьба мочь разобраться.

Чтоб был более понятен мой вопрос, коротко опишу ситуацию.
Есть две таблицы, у каждой две колонки:
    • books (id, name)
    • books_attribute (book_id, book_attributes_id)

В таблице  books_attribute оба поля это внешние ключи. Идея в том, что у одной книги может быть несколько атрибутов.

Вот пример таблиц:
books
id    |name
___________
47    |Пушкин
48    |Лермонтов
49    |Достоевский
50    |Толстой

book_attributes
book_id    |book_attributes_id
___________
47    |2
47    |3
47    |1
47    |7
48    |2
48    |1
48    |10
48    |3
48    |8
49    |11
49    |1
49    |2
50    |8
50    |7
50    |1

Теперь вопрос
Как получить определенные book_id, если передаю список значений (айдишников) для  book_attributes_id?

Чтоб еще точней.. Если я передаю, например, в where, такие значения book_attributes_id: 2, 3
То должен получить только: 47, 48.

2, 1, 10, 3 = 48
1, 7 = 47, 50

Мое гугленье не дало результатов, или я не правильно искал.
Спасибо!

Не в сети

#2 26.06.2020 09:04:23

Re: Как сделать строгую выборку по списку значений?

BookAttribute::whereIn('book_attributes_id', [2, 3])->pluck('book_id');

Не в сети

Подвал раздела