在数据 return 之后编译循环

Compile loop after data return

我使用 Lumen 构建了一个 API。我试图获取有条件的数据, 成功 return 我的数据。我的代码是:

$speeches = Speech::where('is_requested', 0)->where('is_Submited', 0)->take(25)->get();
return response()->json(['status'=> 'Success', 'data' => $speeches], 200);

但是当它是 return 我的数据时我就去了,一些字段会自动更新。

$speeches = Speech::where('is_requested', 0)->where('is_Submited', 0)->take(25)->get();

    // return response()->json(['status'=> 'Success', 'data' => $speeches], 200);

    foreach($speeches as $speechreq){

        $speechreq->update([
            'user_id'       =>  Auth::user()->id,
            'is_requested'  =>  1,
        ]);
        return response()->json(['status'=> 'Success', 'data' => $speechreq], 200);

它 return只有一个数据有更新。但我需要 25 个数据。如果我把我的代码写成

$speeches = Speech::where('is_requested', 0)->where('is_Submited', 0)->take(25)->get();

    return response()->json(['status'=> 'Success', 'data' => $speeches], 200);

    foreach($speeches as $speechreq){

        $speechreq->update([
            'user_id'       =>  Auth::user()->id,
            'is_requested'  =>  1,
        ]);
        // return response()->json(['status'=> 'Success', 'data' => $speechreq], 200);

    }

它 return 给我 25 个数据,但 foreach 循环不起作用。那么有人可以帮助我吗...?

Return 这一行 after foreach 循环。

return response()->json(['status'=> 'Success', 'data' => $speeches], 200);