laravel - Axios GET 使用 Laravel 和 Vue JS 从数据库返回 [0, 0, 5] 而不是 UUID
问题描述
当我昨天面对它时,这个问题对我来说看起来很简单!但是当我在谷歌上没有找到类似的问题时,我意识到这并不像我想象的那么简单!!!
因此,如果自昨天以来我没有找到任何类似的问题,请告诉我。
我正在尝试使用 Laravel 从数据库中传递数据。我使用 UUID 作为通知表的主键,而不是自动递增的主键(这是 Laravel 中通知表的默认选项!)。
我可以按原样获取和读取所有其他列,但 UUID 类型的 ID 列是 0 OR 0 OR 5 或任何其他单个数字,但真实 ID 可以是1367dc99-ee67-4f0f-b0eb-c2215831d7db
。
坦率地说,我不知道我在 Laravel 或 Vue JS axios 中使用的方法有什么问题。
我应该使用任何特定技术从后端读取 UUID 到前端吗?请帮我解决一下这个。
我在下面附上了来自 Laravel 和 Vue JS Axios 的代码。如果我的问题中缺少任何内容,请告诉我。
Laravel 代码
$notifications = Notifications::where('notifiable_id', auth()->user()->id)->orderBy('created_at', 'DESC')->get();
return response()->json(
[
"notifications" => $notifications
]
Vue JS Axios GET 方法
data () {
return {
loading: false,
unreadNotifications: []
}
},
methods: {
async Notifications () {
this.loading = true
await axios.get('/user/notifications/unreads')
.then((response) => {
this.unreadNotifications = response.data
})
.finally (() => {
this.loading = false
})
}
}
输出为 [ 0, 5 ]
解决方案
如果您想这样显示id
:1367dc99-ee67-4f0f-b0eb-c2215831d7db
,然后通过以下方式修改您的查询:
$notifications = DB::table('notifications')
->where('notifiable_id', auth()->user()->id)
->orderByDesc('created_at')
->get();
return response()->json([
"notifications" => $notifications
]);
推荐阅读
- swift - 如何在 iOS swift 4 中访问 Magento Rest API
- laravel - laravel 通知未定义索引:user_id
- migration - Keycloak 迁移散列密码
- java - Selenide 可以与 SpecFlow 一起使用吗?
- angular - 从网络应用程序向 chrome 扩展发送消息
- java - 如何使用 Spring Boot Gradle Plugin 2.1.* 构建不可执行的 jar(库)
- mongodb - 如何根据给定的条件提升 Mongodb 搜索结果
- python - 如何在 elasticsearch-dsl 中加入两个 Document 对象?
- python - Django CustomUser 在管理员中创建,通过电子邮件通知用户
- r - 如何用其他列更改 Na?