1. 创建名为news的数据库
2. 创建名为news的项目
PS D:\developer\laravel> composer create-project --prefer-dist laravel/larave/ news
3 配置数据库连接
首先在 .env中配置数据库连接信息
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=news
DB_USERNAME=root
DB_PASSWORD=root
4. 数据库迁移
4.1 创建数据库迁移文件
运行如下命令,创建数据库迁移文件
php artisan make:migration create_post_table
在刚创建的数据库迁移文件中,编辑数据库迁移文件
public function up()
{
Schema::create('post', function (Blueprint $table) {
$table->increments('id');
$table->string("title")->default('');
$table->string("content")->default('');
$table->timestamps();
});
}
4.2 运行数据库迁移文件
运行如下命令,执行数据库迁移文件
php artisan migrate
可能会出现如下的错误提示

错误原因在于laravel 框架赋予字段你的默认长度超过了mysql数据库允许的字段的最大长度,解决方法是设置 laravel 框架中字段的默认长度不要超过mysql 的长度
在app\providers目录下的AppServiceProvider文件中的boot函数中,加入如下代码
public function boot()
{
// 设置字段默认长度
Schema::defaultStringLength(200);
}
重新运行如下的命令
php artisan migrate
又出现如下错误
SQLSTATE[42S01]: Base table or view already exists: 1050 Table 'users' already exists
原因在于数据库中已经存在响应的表了,删除这些表,然后重新执行数据库迁移文件

4.3 如何添加新的字段
现在想为Post表添加一个字段

代码修改好后,重新运行数据库迁移
php artisan migrate
提示没有迁移任何内容
解决方案是在数据库中删除 post 表,并将 migrations 表中的对应数据删除,然后重新运行数据库迁移即可
再创建数据库迁移文件

本文详细介绍了如何使用Laravel框架进行文章的CRUD操作,包括创建数据库、配置数据库连接、数据库迁移、创建模型、控制器、视图以及处理新增、编辑、删除数据时的常见问题和解决方案,如字段长度限制、CSRF保护等。
最低0.47元/天 解锁文章
2796

被折叠的 条评论
为什么被折叠?



