首页 > 解决方案 > 我如何使用 API Laravel 从数据库中检索

问题描述

所以我对从数据库获取“状态”的 API 有疑问。条件是当状态为空时,响应必须给出一个字符串,“Kendaraan belum terparkir”这是我的 API

public function riwayatParkir() {
        try {
            $data = DB::table('dataparkirs')->where('no_kartu', Auth::User()->no_kartu)->get();
            $status = DB::table('parkirs')
            ->select('parkirs.status')
            ->where('no_kartu', Auth::User()->no_kartu)
            ->get();

            if (count($status) < 1) {
                return response()->json(['error'=>false,'Status Kendaraan belum terparkir'=>$status], 200);
            } else {

            return response()->json(['error'=>false,'Data'=>$data, 'Status Kendaraan'=>$status], 200);
          }

        } catch (\Exception $e) {
            return SendResponse::fails($e->getMessage());
        }
    }

我尝试使用 Postman,但结果状态为 [] result postman

标签: phplaravelapi

解决方案


来自laravel文档:

get 方法返回一个Illuminate\Support\Collection包含查询结果的实例,其中每个结果都是 PHP stdClass 对象的一个​​实例。

所以$status在你的情况下永远不会null。您应该检查集合的大小而不是。

            if ($status->count() === 0) {
                return response()->json(['error'=>false,'Status Kendaraan belum terparkir'=>$status], 200);
            }

推荐阅读