0

関数を適応させる必要がありますが、行き詰まっています...

私の関数 index() は次のとおりです:(動作しますが、変更する必要があります)

public function index(Request $req)
    {
    if ($req->search == "") {
        $formers = Former::paginate(5);

        $formersIdsDown = Course::where('date_seance', "<=" , Carbon::now())->pluck('fk_former')->toArray();
        return view('admin.formers.index', compact('formers', 'formersIdsDown'));

    } else {

        $validated = $req->validate([
            'search' => 'alpha', 
        ]);

        $formers = Former::where('nom', 'LIKE', '%' . $validated['search'] . '%')->paginate(5);
        $formers->appends($req->only('search'));


         }
    }

私の問題は、以下のこの行を新しい関数に適応させる方法がわからないことです。

formersIdsDown = Course::where('date_seance', "<=" , Carbon::now())->pluck('fk_former')->toArray();
        return view('admin.formers.index', compact('formers', 'formersIdsDown'));

これが私の新しいコードです...

public function index(Request $request)
    {   
        $user = $request->user();

        $formers = Former::query()
        ->when($user->hasRole('admin') !== true, function (Builder $query) use ($user) {
            $query->where('email', $user->email);
        })
        ->when($request->has('search'), function (Builder $query) use ($request) {
            $query->where('nom', 'like', '%'.$request->input('search').'%');
        })
        ->paginate(5);

    return view('admin.formers.index', compact('formers'))
        ->with('display_search', $user->hasRole('admin'));
    }

以下のこの行を除いて、私は適応しました...どこに統合しなければならないか知っていますか?

formersIdsDown = Course::where('date_seance', "<=" , Carbon::now())->pluck('fk_former')->toArray();
        return view('admin.formers.index', compact('formers', 'formersIdsDown'));

ありがとうございました

4

1 に答える 1