我在web.php中定义了以下路由,以在DB中返回我的Excepcion记录的列表:

use App\Excepcion;
use App\Http\Resources\Excepcion as ExcepcionResource;
(...)
Route::get('/list/excepciones', function () {
    return ExcepcionResource::collection(Excepcion::where('active', '1'));
});

但是我收到以下服务器错误:
Call to undefined method Illuminate\Database\Eloquent\Builder::mapInto()

如果我将其更改为Excepcion::all(),它就可以正常工作。因此,我不确定为什么不能使用where条件或范围。如何在这里过滤结果?

最佳答案

您忘记调用get来获取集合,如下所示:

return ExcepcionResource::collection(Excepcion::where('active', '1')->get());

关于laravel - Laravel API ResourceCollection-调用未定义的方法Illuminate\Database\Eloquent\Builder::mapInto(),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52938592/

10-09 07:00