yii schema.mysql.sql_Yii数据库访问(MySQL,MSSQL,SQLite,MariaDB,PostgreSQL,ORACLE)

要在动作中使用数据库查询操作,我们需要准备一些数据。

准备数据库

第1步 - 创建一个新的数据库。数据库可以通过以下两种方式进行。

在终端运行 mysql -u root –p

登录数据后,通过执行 CREATE DATABASE mystudy CHARACTER SET utf8 COLLATE utf8_general_ci; 创建一个新的数据库;

第2步 - 在 config/db.php 文件中配置数据库连接。下面的配置可根据自己的实际情况配置。

return [

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

'dsn' => 'mysql:host = localhost;dbname = mystudy',

'username' => 'root',

'password' => '',

'charset' => 'utf8',

];

?>

第3步 - 在项目根文件夹执行:yii migrate/create test_table 。此命令将用于创建管理数据库数据库迁移。 migrations文件会出现在项目的根的 migrations 文件夹中。

f6acf3fd90ab9b7ddb6f069bb9cac48f.png

第4步 - 修改迁移文件(在本示例中生成的是:m160529_014611_test_table.php),并使用以下这些代码。

use yii\db\Schema;

use yii\db\Migration;

class m160529_014611_test_table extends Migration {

public function up() {

$this->createTable("user", [

"id" => Schema::TYPE_PK,

"name" => Schema::TYPE_STRING,

"email" => Schema::TYPE_STRING,

]);

$this->batchInsert("user", ["name", "email"], [

["User1", "user11@gmail.com"],

["User2", "user22@gmail.com"],

["User3", "user33@gmail.com"],

["User4", "user44@gmail.com"],

["User5", "user55@gmail.com"],

["User6", "user66@gmail.com"],

["User7", "user77@gmail.com"],

["User8", "user88@gmail.com"],

["User9", "user99@gmail.com"],

["User10", "user1010@gmail.com"],

["User11", "user1111@gmail.com"],

]);

}

public function down() {

//$this->dropTable('user');

}

}

?>

上述迁移创建用户表,它包含了以下这些字段:id, name, 和 email。它还增加了一些演示用户帐号。

第5步 - 在项目的根目录内运行: yii migrate  来迁移应用到数据库。执行结果如下图所示:

8888e606cb3b8b1f9e8b265fb7b160df.png

第6步-现在,我们需要为user表创建模型。为了简便起见,我们将使用GII代码生成工具。在浏览器中打开 url: http://localhost:8080/index.php?r=gii 。

然后,点击 “Model generator” 下的 “Start”按钮。 填写表名(“user”)和模型类(“MyUser”),单击“Preview”按钮,最后点击 “Generate” 按钮。

b1758dae05010b7fdd54320c6fb973de.png

7395ec972e52fcb411cdefd37256faa4.png

MyUser 文件忆经生成在 models 目录。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值