laravel中怎么通过id来修改数据库

laravel中怎么通过id来修改数据库,第1张

$users = User::where('id', 1)

         ->get()

         

if(count($users)>0){

  $user = $users[0]

  $user->username = 'bcoder'

  $user->save()

}

给你一个例子,User类是一个users表对应的model           

你是复制别人QQ发给你的命令吧。

新版本QQ不知道怎么回事,连续打两个“-”会被变成一个中文的“—”。

这帮命令正确的是:

php artisan migrate:refresh --seed

注意这里seed前面是两个减号。

现让我行行析结构器authors表面up()代码:

1 // auto increment id (primary key)

2 $table->increments('id')

3

4 $table->string('name')

5 $table->integer('age')->nullable()

6 $table->boolean('active')->default(1)

7 $table->integer('role_id')->unsigned()

8 $table->text('bio')

9

10 // created_at, updated_at DATETIME

11 $table->timestamps()

实际SQL代码:

1 `id` INT(11) NOT NULL AUTO_INCREMENT,

2 `name` VARCHAR(255) NOT NULL,

3 `age` INT(11) NULL DEFAULT NULL,

4 `active` TINYINT(4) NOT NULL DEFAULT '1',

5 `role_id` INT(10) UNSIGNED NOT NULL,

6 `bio` TEXT NOT NULL,

7

8 `created_at` TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00:00',

9 `updated_at` TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00:00',

我意识迁移强我自需要记住些结构器写晦涩难懂SQL DDL代码

我创建表我想要滚候办呢需要于up()应down()使用drop()即

1 public function down()

2 {

3 Schema::drop('authors')

4 }

非简单行全部作用删除authors表熟悉sql等同于DROP TABLE authors

现我已经写架构我数据库执行迁移文件转命令行工具跳转应用目录运行artisan migrate命令:

1 php artisan migrate

执行结:

检查数据库发现已经authors表

表结构:

要使用sql语句实现张表sql查询语句:

1 CREATE TABLE `authors` (

2 id int AUTO_INCREMENT NOT NULL,

3 name varchar(255) NOT NULL,

4 age int,

5 active tinyint NOT NULL DEFAULT '1',

6 role_id int(10) UNSIGNED NOT NULL,

7 bio text NOT NULL,

8 created_at timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',

9 updated_at timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',

10 email varchar(64) NOT NULL,

11 /* Keys */

12 PRIMARY KEY (id)

13 ) ENGINE = InnoDB

现假设我执行存错误想要滚我自需要使用artisan命令行工具执行面命令即:想修改数据模型创建新迁移再执行命令artisan migrate每执行artisan migrate命令都根据间戳检查哪些没执行执行跳文件没执行执行迁移直执行完所迁移文件

1 php artisan migrate:rollback

运行:

发现表authors已经数据库删除

现重新创建authors表执行artisan migrate命令:

1 php artisan migrate

表authors重新创建

我想表添加email列先使用artisan创建新迁移文件:

php artisan migrate:make add_email_to_authors_table

运行结:

编辑2014_03_12_051119_add_email_to_authors_table.php文件添加电邮件列我使用Schema::table()两参数:表名、闭包函数(函数内添加字段)

1 public function up()

2 {

3 Schema::table('authors', function($table) {

4 $table ->string('email', 64)

5 })

6 }

添加需要添加滚再使用Schema::table()

1 public function down()

2 {

3 Schema::table('authors', function($table) {

4 $table ->dropColumn('email')

5 })

6 }

面使用dropColumn()列

现运行artisan命令运行该迁移文件:

刷新数据库表发现email字段已经authors现图:

我滚迁移email字段表删除

Artisan命令更强命令行滚所迁移:


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10080959.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存