2015-07-25 2 views
3

Я использую бэкэнд синтаксического анализа, чтобы быть базой данных моих приложений в Xcode (цель-c), но я не знаю, как написать множественный синтаксический анализ формат запроса. Я хочу преобразовать следующий запрос в запрос формата анализа в Xcode.Parse - проблема с множественными условиями в xcode (цель-c)

$msg_record = $this->db->query('SELECT msg, send_id, send_time FROM msg_record 
        WHERE (send_id=123456789 AND to_id=987654321) OR (send_id=987654321 AND to_id=123456789) 
        ORDER BY send_time ASC')->result(); 

Может ли кто-нибудь помочь мне преобразовать запрос? Благодарю.

+0

ли проверить у с соединением Разбор запроса – savana

+0

я уже прочитал. Я могу написать запрос WHERE send_id = 123456789 AND to_id = 987654321, но я не знаю, как писать с двумя большими условными использованием OR. – JacksonNg

ответ

5

Чтобы создать или условие в запросе Разбор, вам придется сделать два (или более) подзапросов, которые вы сливаться с orQueryWithSubqueries. Помните, что вы не можете перевести SELECT непосредственно из SQL в Parse.

Это то, что вы ищете:

PFQuery *query1 = [PFQuery queryWithClassName:@"msg_record"]; 
[query1 whereKey:@"send_id" equalTo:@"123456789"]; 
[query1 whereKey:@"to_id" equalTo:@"987654321"]; 

PFQuery *query2 = [PFQuery queryWithClassName:@"msg_record"]; 
[query2 whereKey:@"send_id" equalTo:@"987654321"]; 
[query2 whereKey:@"to_id" equalTo:@"123456789"]; 

PFQuery *mainQuery = [PFQuery orQueryWithSubqueries:@[query1,query2]]; 
[mainQuery orderByAscending:@"send_time"]; 
+2

Понял. Работает. Спасибо огромное! – JacksonNg

Смежные вопросы