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
如果您已经解决了问题,请在答案中弹出一些注释,以防其他人遇到同样的问题。 –