0
我有這樣定義的一個文件的schema.yml:建築內,從教義中加入1.4 Symfony的
email:
actAs: { Timestampable: ~ }
columns:
id: { type: integer, notnull: true, unique: true, primary: true }
correo: { type: string(255), notnull: true }
nombre: { type: string(255), notnull: true }
apellido: { type: string(255), notnull: true }
lista:
actAs: { Timestampable: ~ }
columns:
id: { type: integer, notnull: true, unique: true, primary: true }
nombre: { type: string(255), notnull: true }
descripcion: { type: string(255), notnull: false }
email_lista:
actAs: { Timestampable: ~ }
columns:
email_id: { type: integer }
lista_id: { type: integer }
relations:
email: { onDelete: CASCADE, local: email_id, foreign: id, foreignAlias: emailrelation }
lista: { onDelete: CASCADE, local: lista_id, foreign: id, foreignAlias: listarelation }
於是,我試圖從那些不屬於電子郵件模型獲取的所有記錄lista_id的列表等於1。
下面是對emailTable.php類中的方法:
public function getEmailsNotBlacklist()
{
$q = $this->createQuery('c')
->leftJoin('c.email_lista m')
->Where('m.lista_id != ?',1);
->orderBy('m.lista_id ASC');
return $q->execute();
}
結果是錯誤的:
什麼導致此?
我不熟悉那裏的YML語法(通常不使用大括號樣式),但我不明白你的關係如何知道「email」是模型「email」它不需要: 'email:{model:email,onDelete:CASCADE,local:email_id,foreign:id,foreignAlias:email}' –
關係的名稱必須與模型的名稱完全一致。在這種情況下,模型是電子郵件。我認爲問題是給該模型一個電子郵件的別名。這會造成混亂。 – haroldmoma
如果您已經解決了問題,請在答案中彈出一些註釋,以防其他人遇到同樣的問題。 –