I've got a problem with all my queries with a varchar ID returning an integer.

For example,a query which should return C-1451963448-MjL returns instead 0.

My query:

$transaction = Transaction::with('user')->get();
return response()->json($transaction);

它返回:

[
  {
    "id": 0,
    "user_id": 8,
    "amount": "56164.00",
    "created_at": "2016-01-05 10:10:48",
    "user": {
      "id": 8,
      "facebook_id": null,
      "first_name": "Alta",
      "last_name": "Keebler",
    }
  },
]

the transaction id becoming 0. Last time I tried it succeeded, but now every ID with varchar returns 0 instead of the real value.

我try 了foreach次获取查询,是的,id是0.

我应该怎么做才能让它再次工作呢?

推荐答案

在模型上将$incrementing设置为false.

public $incrementing = false;

The casts system checks if this is set to true, if it is, it will try to cast the the key field to an int.

Laravel相关问答推荐

发送邮箱后,Laravel重定向偶尔会导致错误500

前端和管理员分开时未加载laravel 9中间件

Laravel Debugbar 中的 Laravel api routes路由

Laravel belongsTo 关系 - 试图获取非对象的属性

如何在 laravel 中使用 str_replace

Laravel 4 定义 RESTful 控制器

在 Laravel 中下载后如何重定向?

条带 api 判断现有卡

如何在中间件 Laravel 中获取请求的控制器和操作的名称

错误:您的要求无法解析为一组可安装的软件包.

如何在 Laravel 5.5 中为选定的请求类设置自定义响应

如何在 Laravel 中将秒转换为天小时分钟

调用未定义的函数 mb_strimwidth

使用模型工厂、一对一和一对多关系定义 Laravel 外键,而不创建不必要的模型

Laravel:在另一个控制器中加载方法而不更改 url

Laravel 获取查询字符串

如何以 JSON 格式发送 Laravel 错误响应

如何在laravel中 for each 用户生成唯一的随机值并将其添加到数据库中

Laravel s3 多桶

以编程方式而不是从 CLI 运行 Laravel 5 seeder