Я создал этот запрос, который работает ОК:
$q1 = Doctrine_Query::create()
->from('Usuario u')
->leftJoin('u.AmigoUsuario a ON u.id = a.user2_id OR u.id = a.user1_id')
->where("a.user2_id = ? OR a.user1_id = ?", array($id,$id))
->andWhere("u.id <> ?", $id)
->andWhere("a.estado LIKE ?", 1);
echo $q1->getSqlQuery();
Вызов getSqlQuery выводит это предложение:
ВЫБРАТЬ s.id AS s__id, s.username AS
s__username, s.algorithm AS
s__algorithm, s.salt AS s__salt,
s.password AS s__password, s.is_active
AS s__is_active, s.is_super_admin AS
s__is_super_admin, s.last_login AS
s__last_login, s.email_address AS
s__email_address, s.nombre_apellidos
AS s__nombre_apellidos, s.sexo AS
s__sexo, s.fecha_nac AS s__fecha_nac,
s.provincia AS s__provincia,
s.localidad AS s__localidad,
s.fotografia AS s__fotografia,
s.avatar AS s__avatar,
s.avatar_mensajes AS
s__avatar_mensajes, s.created_at AS
s__created_at, s.updated_at AS
s__updated_at, a.id AS a__id,
a.user1_id AS a__user1_id, a.user2_id
AS a__user2_id, a.estado AS a__estado
FROM sf_guard_user с левого соединения
amigo_usuario ON ((s.id = a.user2_id
ИЛИ s.id = a.user1_id)) ГДЕ
((a.user2_id =? ИЛИ a.user1_id =?)
И s.id <>? И a.estado как?)
Если я возьму это предложение на вкладку phpmyadmin SQL, я получу эту ошибку
1064 - у вас ошибка в синтаксисе SQL; проверьте руководство, соответствующее вашей версии сервера MySQL, чтобы найти правильный синтаксис для использования рядом с '? ИЛИ a.user1_id =?) И s.id <>? И a.estado LIKE?) LIMIT 0, 30 'в строке 1
Почему я получаю эту ошибку?
Привет
1018 * Javi *