В следующем очень упрощенном примере и учебном примере мы получаем список постов и количество комментариев для каждого поста.
Однако я намеревался отправить на сторону клиента только значение, т.е. 2 , а не объект массива [{total: 2}]
Есть ли упрощенный способ сделать это с laravel?
Примечание: необходимо использовать DB :: select
public function readPosts(Request $request) {
$posts = DB::select("SELECT * FROM posts");
foreach ($posts as $key => $post) {
$idComment = $post->id_comment;
$post->nComments = DB::select('SELECT COUNT(id_comment) As total FROM post_comments WHERE id_comment = ? ', [$idComment]);
}
if($posts){
return response()->json(['success'=>true, "output"=>$posts);
}else{
return response()->json(['success'=>false]);
}
}
ответ
data:
0:
id_post: 1
post: "post text"
nComments: [{total:2}]
1:
id_post: 2
post: "post text 2"
nComments: [{total:1}]
Ожидается
data:
0:
id_post: 1
post: "post text"
nComments: 2
1:
id_post: 2
post: "post text 2"
nComments: 1