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 になります。前回試したときは成功しましたが、今ではすべての ID がvarchar
実際の値ではなく 0 を返します。
クエリを取得しようとしましたforeach
が、ID は です0
。また、dd($transaction)
確認してみると、正しい ID が返されました。
再び動作させるにはどうしたらいいでしょうか?
ベストアンサー1
$incrementing
モデルでは false に設定します。
public $incrementing = false;
key
キャスト システムは、これが true に設定されているかどうかを確認し、設定されている場合は、フィールドを int にキャストしようとします。