Php 仅获取软删除记录

Php 仅获取软删除记录,php,laravel,api,laravel-5.3,Php,Laravel,Api,Laravel 5.3,我在LessonsController中创建了一个只获取软删除课程的方法 我得不到我的lessoncontroller应该走的路线 <?php namespace App\Http\Controllers; use Response; use App\lesson; use Illuminate\Http\Request; use App\Acme\Transformers\LessonTransformer; use Illuminate\Support\Facades\Input;

我在LessonsController中创建了一个只获取软删除课程的方法

我得不到我的lessoncontroller应该走的路线

<?php

namespace App\Http\Controllers;

use Response;
use App\lesson;
use Illuminate\Http\Request;
use App\Acme\Transformers\LessonTransformer;
use Illuminate\Support\Facades\Input;

class LessonsController extends ApiController 
{

    protected $lessonTransformer;

    function __construct(LessonTransformer $lessonTransformer) 
    {
        $this->lessonTransformer = $lessonTransformer;
    }

    //fetch all and pass a metadata 'data' 
    public function index() 
    {
        $lessons = Lesson::all();

        return $this->respond([
            'data' => $this->lessonTransformer->transformCollection($lessons->all())
        ]);
    }

    //delete a lesson by id
    public function destroy($id)
    {   
        $dlesson = Lesson::find(input::get('id'));

        if(! $dlesson) {
            return $this->respondNotFound();
        }

        $dlesson->delete();

        return $this->respondDeleted('Lesson deleted successfully');
    }

    public function deletedLessons() 
    {
        $deleted_lessons = Lesson::onlyTrashed()->get();

        return $this->respond([
            'data' => $this->lessonTransformer->transformCollection($lessons->all())
        ]);
    }    

}
确保:

  • 您已经在迁移中使用了
    softDeletes()
    方法并执行了此迁移
  • 您正在模型中使用
    SoftDeletes
    trait
  • 您已将
    deleted\u at
    添加到模型中的
    $dates
    属性中

完成所有这些操作后,您的查询将正常工作,并且只返回软删除的课程:

$deleted_lessons = Lesson::onlyTrashed()->get();

如果我将
index()
替换为
lessource::all()
替换为
lessource::onlyTrashed()->get(),我已经完成了所有这些
我能够得到结果,但是如何在
index()
中使用单独的方法,而不是在
index()
中获取相同的代码,但在其他方法中不起作用?是的,如果get api/v1/lessons,我怀疑该路径是否不正确,我将获取所有课程,但要获取已删除的课程,我应该检查
dd(lesson::onlyTrashed()->get())的结果index()
中使用code>和其他一些方法。我相信它会返回同样的结果。如果结果是相同的,那么问题就出在其他地方。也许问题在于转换方法。