【发布时间】:2018-05-13 07:04:51
【问题描述】:
此函数不计算已删除的帖子。它只是计算总点赞数,但忽略 deleted_at is = null
我正在使用软删除来满足我的喜好。
我正在尝试计算一个帖子的点赞数,其中 deleted_at 为 == 为 null(表示未删除的点赞数)。
无论它是否被软删除,它似乎都忽略了我拥有的东西并获得了所有喜欢的东西。
这是我目前拥有的。
public function getTotalLikes(Post $post, User $user)
{
$likes = Post::withCount('likes')->first();
if($likes->deleted_at != NULL){
return 'no likes';
}
else{
return $likes->count();
}
$response = new Response(json_encode($likes));
$response->headers->set('Content-Type', 'application/json');
return $response;
}
【问题讨论】:
-
withCount应该尊重软删除,如indicated here。你确定你已经为喜欢正确配置了软删除吗?Like::all()是否显示软删除记录? -
让我尝试一下,是的,我确实正确配置了软删除,这是有趣的事情,如果我在上面的函数上拼错了 deleted_at,它不会显示任何错误,它将继续执行该函数 -
-
它忽略了这个
if($likes->deleted_at != NULL){ return 'no likes'; }部分 -
你能显示 likes() 关系吗?也许你有 withTrashed 那里...
-
我有一个 Heroku 用于此注册和登录并查看网络标签 morning-depths-45941.herokuapp.com