1
我想我的問題很簡單,但我不能把它修好......主義的SQL查詢,WHERE子句不考慮
這裏是我的查詢:
$this->invites = Doctrine_Query::create()
->from('Utilisateur u')
->LeftJoin('u.Invites i ON i.utilisateur_id = u.id')
->where('u.Invites.invitation_id=', $this->invitation->getId())
->execute();
,這裏是我的schema:
Invites:
columns:
invitation_id: {type: integer, notnull: true }
utilisateur_id: {type: integer, notnull: true }
relations:
Utilisateur: {onDelete: CASCADE, local: utilisateur_id, foreign: id}
Invitation: {onDelete: CASCADE, local: invitation_id, foreign: id, class: Invitation, refClass: Invites}
Utilisateur:
actAs: { Timestampable: ~ }
columns:
email: {type: string(255), notnull: true }
password: {type: string(255), notnull: true }
facebook: {type: integer(11), notnull: true }
smartphone: {type: string(128), notnull: true }
prenom: {type: string(255), notnull: true }
nom: {type: string(255), notnull: true }
daten: {type: timestamp, notnull: true }
sexe: {type: boolean, notnull: true, default: 0}
date: {type: timestamp, notnull: true }
看來我的「where」子句沒有考慮到。如果invitation_id是3,我仍然有一個「invite」出現在invitation_id = 1
你能幫助我嗎?
謝謝
編輯 解決了!我只需要添加一個?在我的where子句中的等號之後:
->where('u.Invites.invitation_id=?', $this->invitation->getId())