gpt4 book ai didi

mysql - 使用内部连接的查询返回错误的 id

转载 作者:行者123 更新时间:2023-11-28 23:11:22 25 4
gpt4 key购买 nike

最后更新

我有一个在 Laravel 中构建的 iOS 社交媒体应用程序 API,但我一直在使用提要部分时遇到问题,提要的 Eloquent 代码为我提供了错误的每个帖子 ID。

 public function feed(){

if (request()->has('page')) {

$pagesize = 20;

$query = Posts::join('clase_user', function ($join) {

$user = JWTAuth::parseToken()->authenticate();

$join->on('clase_user.clase_id', '=', 'posts.clase_id')
->where('clase_user.user_id', '=', $user->id);
})
->with('user')
->skip(((int)request()->get('page') - 1) * $pagesize)
->take($pagesize)->get();

return $query;
}else{
return response()->json(['error' => 'Page not specified'], 500);
}

}

返回是这样的:

{
"posts": [
{
"id": 3,
"user_id": 1,
"clase_id": 1,
"thumbNail": null,
"text": "Hola Chicos",
"archivo": null,
"created_at": "2017-07-20 00:00:00",
"updated_at": "2017-07-20 00:00:00",
"user": {
"id": 1,
"name": "Juan Carlos",
"about": "Hola me llamo Juan Carlos",
"handler": "Juantvz50",
"pp": null,
"verify": 1,
"email": "jc_estevezr@hotmail.com",
"deleted_at": null,
"LoginId": null,
"created_at": "2017-07-20 23:52:28",
"updated_at": "2017-07-20 23:52:28"
}
},
{
"id": 1,
"user_id": 1,
"clase_id": 2,
"thumbNail": null,
"text": "Que pex Prrrro",
"archivo": null,
"created_at": "2017-07-20 00:00:00",
"updated_at": "2017-07-20 00:00:00",
"user": {
"id": 1,
"name": "Juan Carlos",
"about": "Hola me llamo Juan Carlos",
"handler": "Juantvz50",
"pp": null,
"verify": 1,
"email": "jc_estevezr@hotmail.com",
"deleted_at": null,
"LoginId": null,
"created_at": "2017-07-20 23:52:28",
"updated_at": "2017-07-20 23:52:28"
}
},
{
"id": 3,
"user_id": 1,
"clase_id": 1,
"thumbNail": null,
"text": "Que Onda Chicos",
"archivo": null,
"created_at": "2017-07-20 00:00:00",
"updated_at": "2017-07-20 00:00:00",
"user": {
"id": 1,
"name": "Juan Carlos",
"about": "Hola me llamo Juan Carlos",
"handler": "Juantvz50",
"pp": null,
"verify": 1,
"email": "jc_estevezr@hotmail.com",
"deleted_at": null,
"LoginId": null,
"created_at": "2017-07-20 23:52:28",
"updated_at": "2017-07-20 23:52:28"
}
}
]
}

即使我的数据库每个都有不同的 ID:

Database

看起来我的代码的某些部分有问题,我不知道是哪部分,如果您想查看更多代码,请在评论中提问。

更新

它给我的 id 实际上是 clase_user 表的 id,它是我用来与用户连接许多类的数据透视表(比如当你在 youtube 上关注某人时) ,我想是因为我说的是 Posts::join('clase_user',有什么想法也包括帖子的 ID 吗?

clase_user

最佳答案

与此类似:Join with where query in Laravel returns wrong timestamps

由于您的 JOIN 属性被覆盖(不仅是 id,还有 created_at/updated_at 时间戳)。因此,您应该为您的特定属性定义一个选择语句。

关于mysql - 使用内部连接的查询返回错误的 id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45874205/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com