Laravel所有返回ID变为0


Laravel all return ID become 0

我的所有查询都有一个问题,其中varchar ID返回了一个整数。

例如,应该返回C-1451963448-MjL的查询返回0。

我的查询:

$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",
    }
  },
]

事务id变为0。上次尝试成功了,但现在每个带有varchar的ID都返回0,而不是实际值。

我已经尝试过foreach获取查询,是的,id是0。当我检查它时,我也尝试过dd($transaction),它会给我返回正确的ID。

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

在模型中将$incrementing设置为false。

public $incrementing = false;

强制转换系统检查这是否设置为true,如果是,它将尝试将key字段强制转换为int。