上篇我们讲解忘记密码功能後,使用者系统就建立的差不多了,不过我认为,难得已经可以辨别各个使用者了,能不能让各个使用者之间有些互动?
所以我当时设计table时,将user及card设计为多对多,这表示一个user有多张card,而同时一张card也可能会有多个user拥有,实现多人编辑同一张card的功能。
我的需求大概是这样的
以上就是我设想的群组功能,按照惯例我会先做最基本的功能,将邀请及踢出的功能做出,再想办法实现那些if else的情况。
以上是我专案设计的table,在之前的文章中有提过,我在作card的CRUD之前会先用user去关联,因此我想到,如果我要邀请那个user那我只要在groups这张表上面加上user_id和card_id不就可以了吗?
因此这是我的邀请功能
#新增user 进来群组
public function store(Request $request, $cardId)
{
$userData = $request->userData;
$card = $userData->ShowCards->find($cardId);
if (!$card) {
return response()->json(['status' => false, 'error' => 'card search not found'], 400);
}
$userEmail = $request->email;
$addUser = Users::where('email', $userEmail)->first();
if (!$addUser) {
return response()->json(['status' => false, 'error' => 'user search not found'], 400);
}
$userId = $addUser->id;
$group = $card->ShowGroups->where('users_id', $userId)->first();
if (isset($group)) {
return response()->json(['status' => false, 'error' => 'user is already in card'], 400);
}
$create = Groups::create(['users_id' => $userId, 'card_id' => $cardId,]);
$card->update(['private' => false]);
return response()->json(['status' => true, 'group_data' => $create]);
}
说明:
这个功能我会需要使用者输入被邀请者的email,还有想要邀他进哪一张card的card id。
以上便是我的群组功能的想法,不知道还有没有漏洞?我惯例会将最基本的create功能做好後,再将各个漏洞补起来,最基本的就是检查使用者输入的东西是否正确,再依需求设定其他if。顺带一提这只是最基本的功能,如果群组中还要分级,那可能groups中还要加上一个判断Lv的column,不过我想v现在先做出最基本的功能就好,之後再看要不要进行扩充,以上,Bye!
<<: [Day 28] Laravel+MongoDB+Vue CRUD - part 1
>>: 第二十六章、燃烧吧!Three.js 小宇宙!(肆)
前言 昨天我们已经将DatePickerView新增在画面上了,今天就让我们再让新增闹钟的页面完成度...
延续昨天的实作,首先我们先来修改一下昨天建置的 Learned Index 类别,还有一些参数需要储...
刚体2D(Rigidbody 2D) 当物体运动速度远小於光速可被视为理想刚体,可以忽略型变,也就是...
Colab连结 一般我们在做机器学习任务时,在模型里计算的资料型态采用的是 float32 (即占用...
在 Day04 有提到在 JavaScript 里, 函式执行时会产生函式执行环境,在该执行环境中会...