首页 > 解决方案 > 使用 laravel 将 if 语句放入 api

问题描述

我目前正在学习 API 的工作原理,我的导师给了我一项任务,即使用 API 创建提交表单并使用 laravel 将数据存储在数据库中,如果某些字段的逻辑,该任务也需要强制执行。

我已经成功完成了第一项任务(将数据存储到数据库),但我在编写强制性 if 时遇到了困难。

我很困惑,在我的任务文件中,我被告知要创建一个控制器、一个模型和两个端点(请求调度和请求离开),每个端点都应该有一些参数。

对于request-leaving参数,有10个参数,其中6个有这个要求,如(如果请求类型为Request Day Off,则为强制)

上面有 3 个请求 1. 请求休息日 2. 请求时间表 3. 更改时间表

我是编程的超级新手,有人知道如何解决这个问题吗?

public function CreateReqSchedule(Request $request)
{
    $reqschedule = new B777();

    $reqschedule->reqtype = $request->input('reqtype');
    $reqschedule->startdate = $request->input('startdate');
    $reqschedule->enddate = $request->input('enddate');
    $reqschedule->reason = $request->input('reason');
    $reqschedule->route = $request->input('route');
    $reqschedule->actualschedule = $request->input('actualschedule');
    $reqschedule->changetoschedule = $request->input('changetoschedule');
    $reqschedule->swapcrewid = $request->input('swapcrewid');
    $reqschedule->swapcrewschedule = $request->input('swapcrewschedule');
    $reqschedule->note = $request->input('note');

    $reqschedule->save();

    return response()->json($reqschedule);
}

上面的代码是我唯一的工作,我感到很焦虑,因为我自己用谷歌搜索过,但我仍然卡住了。

标签: jsonlaravelapilogicform-submit

解决方案


所以你在谈论验证。您可以像下面这样将 laravel 验证放入其中

对强制数据使用required验证并在 json 中返回响应

// Making validation for fields
$validator = \Validator::make($request->all(), [
    'fields1' => 'required',
    'fields2' => 'required',
    'fields3' => 'required',
]);

if ($validator->fails())
{
    // return response on validaton fails
    return response()->json(['status'=>400,'errors'=>$validator->errors()->all()]);
}
// If validation passes store your data in database

推荐阅读