yii2中使用Active Record模式

1. 在db.php中配置相应的数据库信息:

return [

‘class‘ => ‘yii\db\Connection‘,

‘dsn‘ => ‘mysql:host=localhost;dbname=yii2basic‘,

‘username‘ => ‘root‘,

‘password‘ => ‘‘,

‘charset‘ => ‘utf8‘,

];

2. 使用gii模块来自动生成相应的代码(访问链接http://localhost/basic/web/index.php?r=gii):

利用ModelGenerator 和CURD Generator 来自动生成相应的模型代码和增删改查的代码

3. 当数据库中的表需要进行修改时可以使用migration:

在项目中执行命令:./yii migrate/create “自己定义名称”

在项目中会生成一个新的文件夹migrations,打开文件夹中的文件:

class m150225_022640_modify_book_table extends Migration

{

public function up()

{

$this->addColumn("book", "book_desc", yii\db\mssql\Schema::TYPE_TEXT);

}

public function down()

{

echo "m150225_022640_modify_book_table cannot be reverted.\n";

return false;

}

}

在命令行中使用命令 :./yii migrate  即可执行脚本中的up函数

在命令行中使用命令:  ./yii  migrate/down  即可执行脚本中的down函数

时间: 2024-10-11 13:33:25

yii2中使用Active Record模式的相关文章

架构模式中的Active Record和Data Mapper

架构模式中的Active Record和Data Mapper 概念 在简单应用中,领域模型是一种和数据库结构一致的简单结构,对应每个数据库表都有一个领域类,在这种情况下,有必要让每个对象负责数据库的存取过程,这也就是Active Record(活动记录). 领域对象直接鱼数据库表进行交互,这带来了一个问题,随着领域逻辑变的更加复杂,它就慢慢转变成一个大的领域模型,简单的Active Record已经不能满足要求了. 领域类和表一对一匹配也开始随着把领域逻辑放入更小的类而失效.关系数据库无法处理

yii中使用active record进行关联显示

model中: view中:

Rails中重写Active Record字段属性

系统重构或升级时偶尔会碰到需要重写某个字段的情况,例如: 1. 读取user的name字段时,实际返回name_new字段 class User < ActiveRecord::Base def name attribute(:name_new) end end 2. 修改属性时做一些其他操作(这种场景也可以使用回调来实现) class User < ActiveRecord::Base def name=(value) # actions write_attribute(:name,valu

业务逻辑层-Active Record

Active Record(活动记录模式),当系统中的业务和数据库中的表存在一一对应关系的时候,可用采用. Active Record模式的特点:每个业务对象代表数据表中的一行数据,并且业务对象还包括了数据的增删改查的方法. ORM 一般这种模式采用一种ORM框架,即对象关系映射.这里用的的映射是:Dapper(开源轻量级,高效率,白自动化),Dapper需要我们写sql语法,所有是半自动化. 案例 内容管理系统中一博客系统 可以发布博客 对博客进行评论 code 代码下载 对象实体 publi

架构模式数据源模式之:表数据入口(Table Data Gateway)、行数据入口(Row Data Gateway)、活动记录(Active Record)

一:表数据入口(Table Data Gateway) 表数据入口提供了用于访问单个表或者视图(也包含了联表查询)的所有SQL,通常一个表一个类.其它代码通过它来实现对数据库的交互.基于这个特点,表数据入口和事务脚本代码以及表模块结合的很好. 在查询时候,表数据接口可以返回数据集 或者 DTO 或者 DTO列表.在 事务脚本 代码中已经阐述过了 DTO 以及 DTO 的列表这种形式.但是使用 DTO 这种形式,带来的一个问题是:到处衍生的 DTO,那么,如何减少到处衍生的 DTO 的,见这里<>

Yii2 数据库Active Record(ORM)

ACTIVE RECORD(ORM) 参考:http://www.yiiframework.com/doc-2.0/guide-db-active-record.html namespace app\models; use yii\db\ActiveRecord; class Customer extends ActiveRecord { const STATUS_ACTIVE = 'active'; const STATUS_DELETED = 'deleted'; public static

Yii2 : Active Record add Not In condition

$query = MyModel::find()->where(['not in','attribute',$array]); 參考 Yii2 : Active Record add Not In condition Adding a custom WooCommerce product type How to Set Up WooCommerce Demo Data 原文地址:https://www.cnblogs.com/fsong/p/11336900.html

Yii2中DAO

数据库访问 (DAO) 创建数据库连接 执行 SQL 查询 引用表和列名称 执行事务 复制和读写分离 操纵数据库模式 Yii 包含了一个建立在 PHP PDO 之上的数据访问层 (DAO).DAO为不同的数据库提供了一套统一的API. 其中`ActiveRecord` 提供了数据库与模型(MVC 中的 M,Model) 的交互,`QueryBuilder` 用于创建动态的查询语句. DAO提供了简单高效的SQL查询,可以用在与数据库交互的各个地方. 使用 Yii DAO 时,你主要需要处理纯 S

DAL、DAO、ORM、Active Record辨析

转自:http://blog.csdn.net/suiye/article/details/7824943 模型 Model 模型是MVC中的概念,指的是读取数据和改变数据的操作(业务逻辑).一开始我们直接把和数据库相关的代码放在模型里(sql直接写在代码中),这样就会导致以后的维护相当麻烦.业务逻辑的修改都需要开发者重新写sql,如果项目需要分库,需要将sql语句抽出来,放到单独的一层.这一层就是DAL(数据访问层). 持久层Persistence 持久层只是一个逻辑概念而已,主要任务是负责把