我使用多对多的关系;
用户实体;
/**
* @ORM\ManyToMany(targetEntity="Conversation", inversedBy="users")
*/
protected $conversations;
Run Code Online (Sandbox Code Playgroud)
会话实体;
/**
* @ORM\ManyToMany(targetEntity="User", mappedBy="conversations")
* @ORM\JoinTable(name="user_conversation")
*/
protected $users;
Run Code Online (Sandbox Code Playgroud)
什么时候,我工作这个功能;
$user->getConversations();
Run Code Online (Sandbox Code Playgroud)
Symfony在后台运行这个sql代码;
SELECT
t0.id AS id1,
t0.conversationid AS conversationid2
FROM
Conversation t0
INNER JOIN user_conversation ON t0.id = user_conversation.conversation_id
WHERE
user_conversation.user_id = ?
Run Code Online (Sandbox Code Playgroud)
并选择所有对话.这将是性能问题.所以,我使用存储库类.但是,我不能一起做多对多和限制功能.我该怎么办?我写的什么到存储库类?