将类应用于 yajra/datatable 中的行(如果给定的模型实例已被软删除)


apply class to row in yajra/datatable if a given model instance has been soft deleted

在yajra/laravel-datatables中,我想确定当前模型是否被软删除。 如果将其删除,则success引导类适用于包含该模型详细信息的行。

这是我的后端代码:

$courses =
            Course::select(['course_id', 'title', 'start_date', 'end_date', 'picture', 'lesson_count', 'status', 'active', 'teacher','start_date','end_date','reg_start_date','reg_end_date']);
        if ($request->has('showDeleted') && $request->get('showDeleted') == 1) {
            $courses = $courses->withTrashed();
        }
        $datatable = app('datatables')->of($courses)
            ->orderBy('created_at', 'desc')
            //columns come here
            ->setRowClass(function ($course) {
                return ($course->trashed() ? 'danger' : 'sdasd');
            });
        return $datatable->make(true);

如您所见,我使用了:

->setRowClass(function ($course) {
                    return ($course->trashed() ? 'danger' : ' ');
                });

应用所需的类 但是$course->trashed始终为所有模型实例返回 false,即使那些实例没有被丢弃。

什么是最佳解决方案?

我找到了解决方案。我应该在select方法的列选择中包含deleted_at字段是我的错误:

$courses =
Course::select(['course_id', 'title', 'start_date', 'end_date', 'picture', 'lesson_count', 'status', 'active', 'teacher','start_date','end_date','reg_start_date','reg_end_date','deleted_at']);