我需要帮助来解决与处理 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
函数不会过滤结果。