【发布时间】:2015-04-14 15:40:00
【问题描述】:
是否可以选择向 Phalcon 向导函数 hasManyToMany 添加附加条件?我检查了phalcon docs,但他们没有列出所有可能的 hasManyToMany 选项(仅列出别名和foreginKey)。 如果这不能通过 hasManyToMany 完成,是否还有其他 Phalcon 选项可用 - 例如。检索所有然后过滤一些模型加载事件?
简单示例: 我有 3 个表 Group、Relation 和 User,并且想使用 Relation 表在 User 模型中创建两个属性 - active_groups 和 inactive_groups。
代码:
class GroupModel extends Model {
public $id;
public $name;
}
class RelationModel extends Model {
public $id;
public $related_id_one;
public $related_id_two;
public $active;
}
class UserModel extends Model {
public function initialize() {
$this->hasManyToMany(
"id",
"RelationModel",
"related_id_one",
"related_id_two",
"GroupModel",
"id",
array( 'alias' => 'active_groups',
'conditions' => 'RelationModel.active = true')
);
$this->hasManyToMany(
"id",
"RelationModel",
"related_id_one",
"related_id_two",
"GroupModel",
"id",
array( 'alias' => 'inactive_groups',
'conditions' => 'RelationModel.active = false')
);
}
}
Tnx!
【问题讨论】: