版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_33867131/article/details/86245454
1、创建数据模型
(1)浏览器上输入phpmyadmin.local新建task数据库(在虚拟机中新建task数据库)
(2)新建模型的方法,输入命令php artisan make:model Project (新建一张模型表,新建的model在
app文件夹下)
php artisan make:model Project -m(创建模型,并生成迁移文件,如果不加-m,
还可以通过php artisan make:migration,生成迁移文件)
(3)数据表的迁移,
php artisan migrate:status # 查看数据表的迁移状态
php artisan make:migration # 生成migrations迁移文件(相当于Python的
makemigrations)
php artisan migrate # 将database/migrations下的文件迁移到数据库,生成对应的表
php artisan migrate:rollback # 撤销上一步的migrate迁移操作
(4)开发过程中更改数据结构(不rollback,不删除数据库的原始数据)
新建一个migration文件,projects进行操作
php artisan make:migration 对表更改的描述 --table=projects(指定哪一张表)
php artisan migrate 映射到数据库
(5)如果你在开发阶段,你就可以通过:php artisan migrate:refresh 撤回所有的操作,重新编译映射
到数据库表
2、定义表与表之间的关系:
(1)定义User和Project的关系(一个用户对应多个项目)
# 添加到User.php文件里
public function projects(){
return $this->hasMany('App\Project');
}
(2)定义Project和User的关系(一个项目对应一个用户)
# 添加到Project.php文件里
public function user(){
return $this->belongsTo('App\User', user_id);
}
(3)定义哪些字段可以被操作
# 添加到Project.php文件里
protected $fillable = [
'name',
'thumbnail'
];
(4)在ProjectsController里
public function store(Request $request){
// 通过关系储存数据,不用再单独存user_id字段,已经自动存储了
$request->user()->projects()->create([
'name'=> $request->name,
'thumbnail'=> $request->thumbnail
]);
// 如果不通过关系,就需要手动添加user_id字段
//Project::create([
// 'name'=> $request->name,
// 'thumbnail'=> $request->thumbnail,
// 'user_id'=> $request->user()->id
//]);
return '保存成功';
}