symfony2 学说中的高级 SQL 查询

Advanced SQL query in symfony2 doctrine

我正在使用 Symfony2.8 和 MySQL 开发一个项目。 我的数据库中有 4 个 table 是用户、引用、文章、文章引用。

用户table

<html>
  <body>
    <table border="1">
      <tr>
        <th>user_id</th>
        <th>name</th>
        <th>age</th>
      </tr>
      <tr>
        <td>7</td>
        <td>Alex</td>
        <td>20</td>
      </tr>
      <tr>
        <td>8</td>
        <td>John</td>
        <td>30</td>
      </tr>
      
      </table>
    </body>
  </html>

引用table

<html>
  <body>
    <table border="1">
      <tr>
      <th>quote_id</th>
      <th>user_id</th>
      <th>reference</th>
        </tr>
      <tr>
      <td>61</td>
      <td>7</td>
      <td>AE20</td>
        </tr>
      <tr>
      <td>62</td>
      <td>7</td>
      <td>AE21</td>
        </tr>
      <tr>
      <td>63</td>
      <td>7</td>
      <td>AE22</td>
        </tr>
      <tr>
      <td>64</td>
      <td>8</td>
      <td>AE29</td>
        </tr>
      
      </table>
    </body>
  </html>

文章引用

<html>
  <body>
    <table border="1">
      <tr>
      <th>id</th>
      <th>quote_id</th>
      <th>article_id</th>
        <th>qte</th>
        </tr>
      <tr>
        <td>58</td>
        <td>61</td>
        <td>2</td>
        <td>7</td>
       </tr>
      <tr>
        <td>59</td>
        <td>62</td>
        <td>3</td>
        <td>8</td>
       </tr>
      <tr>
        <td>60</td>
        <td>63</td>
        <td>1</td>
        <td>9</td>
       </tr>
       <tr>
        <td>61</td>
        <td>63</td>
        <td>2</td>
        <td>10</td>
       </tr>
      
      </table>
    </body>
  </html>

文章table

<html>
  <body>
    <table border="1">
      <tr>
        <th>article_id</th>
        <th>name</th>
      </tr>
      <tr>
        <td>1</td>
        <td>article1</td>
      </tr>
      <tr>
        <td>2</td>
        <td>article2</td>
      </tr>
      <tr>
        <td>3</td>
        <td>article3</td>
      </tr>
      
      </table>
    </body>
  </html>

现在这些 table 之间的关系是

用户<--一对多-->引用<--一对多-->文章引用<--多对一-->文章

我想获取由quote_id

订购的7号用户所有引用中的文章

我想获取用户号 7 的引用号 63 中的文章

谢谢你帮助我。

试试这个:

Select a.* From articles a 
Inner Join
    articlesquote aq On a.article_id=aq.article_id 
Inner Join
    quotes q On q.quote_id=aq.quote_id 
Inner Join
    user u On u.user_id=q.user_id
Where
    u.user_id=7 and q.quote_id=63