Model view controller 为什么我们必须在模型和迁移时设置数据库的关系?阿多尼斯JS
为什么需要在Adonis.js中设置数据库中存在的迁移关系(参考)和模型中存在的关系(使用hasMany)?总之,迁移和模型是独立的,不能一起工作。要使用这些模型,无需使用迁移(可以使用现有数据库) 迁移 迁移用于创建数据库 您必须在迁移文件中定义数据库的结构。所以人际关系很重要 发件人: 迁移是有文档记录的数据库突变,在应用程序的整个开发生命周期中创建,您可以在任何时间点回滚或重新运行 迁移使团队工作变得更容易,使一个开发人员对数据库架构的更改能够轻松跟踪,然后由组织中的其他开发人员应用 当然,没有必要使用迁移。您可以创建自己的数据库,并仅使用允许检索数据的 关于模型(Lucid)的有趣之处在于(使用Knex)很容易进行SQL查询 由于模型和迁移没有链接,因此有必要声明要使用的表之间的不同关系 Lucid是的AdonisJS实现 发件人: 关系是数据驱动应用程序的主干,将一种模型类型链接到另一种模型类型 例如,一个用户可以有许多帖子关系,每个帖子可以有许多评论关系 Lucid的表达式API使关联和获取模型关系的过程简单直观,无需触摸SQL语句,甚至无需编辑SQL模式 例子: 关系: 用户模型:Model view controller 为什么我们必须在模型和迁移时设置数据库的关系?阿多尼斯JS,model-view-controller,orm,adonis.js,Model View Controller,Orm,Adonis.js,为什么需要在Adonis.js中设置数据库中存在的迁移关系(参考)和模型中存在的关系(使用hasMany)?总之,迁移和模型是独立的,不能一起工作。要使用这些模型,无需使用迁移(可以使用现有数据库) 迁移 迁移用于创建数据库 您必须在迁移文件中定义数据库的结构。所以人际关系很重要 发件人: 迁移是有文档记录的数据库突变,在应用程序的整个开发生命周期中创建,您可以在任何时间点回滚或重新运行 迁移使团队工作变得更容易,使一个开发人员对数据库架构的更改能够轻松跟踪,然后由组织中的其他开发人员应用 当然
const Model=use('Model'))
类用户扩展模型{
职位(){
返回此。hasMany('App/Models/Post')//有许多帖子
}
}
module.exports=用户
控制器代码:
const User=use('App/Models/User'))
const users=等待用户
.query()
.with('posts')//使用模型关系
.fetch()
输出:
[
{
id: 1,
username: 'virk',
posts: [{
id: 1,
user_id: 1,
post_title: '...',
post_body: '...',
}]
}
]
^总之,迁移和模型是独立的,不能一起工作。要使用这些模型,无需使用迁移(可以使用现有数据库)
迁移
迁移用于创建数据库
您必须在迁移文件中定义数据库的结构。所以人际关系很重要
发件人:
迁移是有文档记录的数据库突变,在应用程序的整个开发生命周期中创建,您可以在任何时间点回滚或重新运行
迁移使团队工作变得更容易,使一个开发人员对数据库架构的更改能够轻松跟踪,然后由组织中的其他开发人员应用
当然,没有必要使用迁移。您可以创建自己的数据库,并仅使用允许检索数据的
关于模型(Lucid)的有趣之处在于(使用Knex)很容易进行SQL查询
由于模型和迁移没有链接,因此有必要声明要使用的表之间的不同关系
Lucid是的AdonisJS实现
发件人:
关系是数据驱动应用程序的主干,将一种模型类型链接到另一种模型类型
例如,一个用户可以有许多帖子关系,每个帖子可以有许多评论关系
Lucid的表达式API使关联和获取模型关系的过程简单直观,无需触摸SQL语句,甚至无需编辑SQL模式
例子:
关系:
用户模型:
const Model=use('Model'))
类用户扩展模型{
职位(){
返回此。hasMany('App/Models/Post')//有许多帖子
}
}
module.exports=用户
控制器代码:
const User=use('App/Models/User'))
const users=等待用户
.query()
.with('posts')//使用模型关系
.fetch()
输出:
[
{
id: 1,
username: 'virk',
posts: [{
id: 1,
user_id: 1,
post_title: '...',
post_body: '...',
}]
}
]
^