Конструктор запросов Doctrine, поиск по интересамPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Конструктор запросов Doctrine, поиск по интересам

Сообщение Anonymous »


сегодня у меня интересная задача - реализовать поиск по БД по некоторым группам и отсортировать по наиболее релевантным критериям
  • У нас есть 2 сущности (Пользователь и интересы) в Symfony с отношением ManyToMany
  • Нам нужно создать запрос для поиска пользователей с наиболее схожими интересами
    например:

    у пользователя1 есть интересы [1,2,3,4,5]

    у пользователя2 есть интересы [1,2,4,5,7]

    у пользователя3 есть интересы [3,5]
мы пытаемся найти пользователя по интересам [2,6,7] и результат должен быть:

Код: Выделить всё

[user2, user1, user0]

user2 - 2 similar interests

user1 - 1 similar interests

user3 - 0
Code example:

Код: Выделить всё

class User
{
// ...

/**
* Many Users have Many Interests.
* @ManyToMany(targetEntity="Interest")
* @JoinTable(name="users_interests",
*      joinColumns={@JoinColumn(name="user_id", referencedColumnName="id")},
*      inverseJoinColumns={@JoinColumn(name="interest_id", referencedColumnName="id")}
*      )
*/
private $interests;
...
I have no idea how to organize it nicely, can somebody help me?
Thanks!


Источник: https://stackoverflow.com/questions/473 ... -interests
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»