我需要在Propel 2.0中编写此SQL查询

SELECT RequestUser.userID, requests.requestID, requests.created, Responses.created, Responses.response, Responses.createdby_userID FROM requests
LEFT JOIN requestusers RequestUser ON (requests.requestID=RequestUser.requestID)
LEFT JOIN responses Responses ON (requests.requestID=Responses.requestID AND RequestUser.userID=Responses.createdby_userID)
WHERE requests.supportstatusID=3
and requests.requestid=50208;


最重要的是第二个联接,它具有多个条件。

我一生无法解决这个问题。
有任何想法吗?

我已将Criteria类用于AddMultipleJoins(),但无济于事。

$pendingRequests = RequestQuery::create($criteria)
    ->select(['RequestUser.UserId', 'Request.Id', 'Request.CreatedDate'])
    ->leftJoin('Request.RequestUser RequestUser')
    ->leftJoin('Request.Response Responses')// <------ I need this line to have multiple conditions
    ->filterBySupportStatusId(3)
    ->find();

最佳答案

好的,我使用以下方法弄清楚了:

->addJoinCondition('JoinName', 'LeftColumn=?', 'RightColumn')


这为联接添加了额外条件!

关于php - 我如何将这个SQL查询转换为推进查询,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57361781/

10-10 00:49