昨天我们建立了Skill的migtaion
我们今天目标是把简单的API定义好来实作吧!!
除了migration,route,controller,model以外
我们还要定义Skill跟User两个Model的关系喔
虽然技能跟使用者是属於多对多
但是我这边为了教学方便
我们把使用者-> 技能
定义成一对多吧(roni对微积分,物理)
在2021_09_30_154710_create_skills_table.php
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class CreateSkillsTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('skills', function (Blueprint $table) {
$table->id();
$table->string('title');
$table->integer('user_id');
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('skills');
}
}
在这个migration里面我们新增title跟user的对应ID
user_id 是laravel的预设对应值
_id 前面的是laravel 要对应的model id值
好了之後就下
php artisan migrate
接者我们要让使用者拥有技能这个对应属性
我们打开User model
并且新增skills这个function
app/Modesl/user
public function skills()
{
return $this->hasMany(Skill::class);
}
这边是建立使用者的skill方法
建立一对多的概念
接者我们建立skillconteoller
php artisan make:controller SkillController --resource
SkillController.php
public function index()
{
//
$Skills = User::find(1)->skills;
return response($Skills);
}
我们可以使用这个api 来捞出该使用者(user_id1 是roni)所有的技能
我们先预设使用id是1来找roni所有的技能
我们新增skill的route
Route::resource('skills','SkillController');
我们用api新增一笔admin资料
接者在skill表里面
新增
roni 会 微积分 跟物理 user_id都要设定1喔!!
admin会化学 user_id设定2
结果如下
直接打api就可以发现我们只捞到
user_id是1
也就是roni的skill
明天我们来补上
相反的关系对应
接者就开始制作前端介面吧!!
<<: [Day 21] 2D批次渲染 (三) - Bug!一堆Bug
>>: [ Day 16 ] React Hooks 中的 useEffect
tags: 铁人赛 AWS Outposts ECS 参考资料 ECS on Outposts 限制...
今天大概会聊到的范围 Android View 前两天来回进出了公司楼下的 7-11 两三次,每次...
学过的内容没有实际在VS CODE上写过,很难不去忘记。 透过切版练习,逼自己每天都进步一点点,相...
在 Day20 介绍资料集时有提到过五类情绪有资料不平衡的问题,为了处理资料不平衡的问题,我们会在 ...
上一篇示范了 Ktor mock engine 的设定和测试了如果出现 exception 时能否顺...