【问题标题】:How can i retrive from database using API Laravel我如何使用 API Laravel 从数据库中检索
【发布时间】:2021-09-02 01:49:04
【问题描述】:

所以我对从数据库获取“状态”的 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

【问题讨论】:

  • $status 不为空。像这样检查状态:if(!count($status)) 检查它的 null 或 no

标签: php laravel api


【解决方案1】:

count()代替NULL

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

【讨论】:

  • 很好用! $status 现在为空,但我怎样才能返回带有字符串的响应 json?像这样$status = "Status Kendaraan belum terparkir"
【解决方案2】:

来自laravel 文档:

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

因此,在您的情况下,$status 永远不会是 null。你应该检查size of collection 而不是。

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

【讨论】:

    猜你喜欢
    • 2019-07-19
    • 2019-11-10
    • 2019-08-12
    • 2013-05-15
    • 1970-01-01
    • 2017-05-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多