Php 仅获取软删除记录
我在LessonsController中创建了一个只获取软删除课程的方法 我得不到我的lessoncontroller应该走的路线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;
<?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>和其他一些方法。我相信它会返回同样的结果。如果结果是相同的,那么问题就出在其他地方。也许问题在于转换方法。