rendered paste bodyclass PostsModel extends ModelDefinition { public function init() { $this->setTable('posts', 'InnoDB'); $this->hasPrimaryKey('post_id'); $this->hasField('post_id', 'int(10)')->increment(); $this->hasField('name', 'varchar(255)')->auto(''); $this->hasMany('post_id', 'post_tags', 'tags.tag_id'); // links to tags $this->hasMany('post_id', 'post_tags', 'post_tags.post_id'); // links to post_tags }}class PostTagsModel extends ModelDefinition { public function init() { $this->setTable('post_tags', 'InnoDB'); $this->hasField('post_id', 'int(10)'); $this->hasField('tag_id', 'int(10)'); $this->hasOne('tag_id', 'tags', 'tags.tag_id'); $this->belongsTo('post_id', 'posts'); }}class TagsModel extends ModelDefinition { public function init() { $this->setTable('post_tags', 'InnoDB'); $this->hasField('tag_id', 'int(10)')->increment(); $this->hasField('name', 'varchar(20)')->auto('')->check('~^[a-z0-9 .]+$~iD'); $this->belongsTo('tag_id', 'post_tags'); $this->hasMany('tag_id', 'post_tags', 'posts.post_id'); }}