0

laravel コレクション メソッドの処理に関連する問題を解決するために助けが必要です。

私は学習ウェブサイトを作成していcourrseますcourse episode

私はテーブルmeilisearchで検索するのに使用しました。course_episode

$query = $request->s;
$episodes = CourseEpisode::search($query)
    ->get();

エピソードを取得した後、コレクションのメソッドを使用mapしました。reject

$episodes->map(function ($episode) {
        $course = Course::where('id', $episode->course_id)
            ->select('id', 'title', 'slug', 'publish_date_time', 'publishing_status')->first();
        $episode->course = $course;
        return $episode;
})->reject(function ($item) {
        return (Carbon::createFromFormat('Y-m-d H:i:s', $item->course->publish_date_time)->gt(Carbon::now()) || $item->course->publishing_status === 'drafted');
});

publish_date_time が未来のコースと下書きされたコースに関連するエピソードを却下することにしました。

メソッドでコースを取得し、それmapをエピソードに添付します。

メソッドdd()で関数を使用しました。reject正しい結果を返す条件。ただし、reject関数は結果をフィルタリングしません。

4

1 に答える 1