Jk3*_*k33 3 collections laravel
我在web.php中定义了以下路由,以返回数据库中我的Excepcion记录的列表:
use App\Excepcion;
use App\Http\Resources\Excepcion as ExcepcionResource;
(...)
Route::get('/list/excepciones', function () {
return ExcepcionResource::collection(Excepcion::where('active', '1'));
});
Run Code Online (Sandbox Code Playgroud)
但是我收到以下服务器错误:
Call to undefined method Illuminate\Database\Eloquent\Builder::mapInto()
Run Code Online (Sandbox Code Playgroud)
如果我将其更改为Excepcion::all()就可以了。因此,我不确定为什么不能使用where条件或范围。如何在这里过滤结果?
您忘了打电话get来获取收藏,像这样:
return ExcepcionResource::collection(Excepcion::where('active', '1')->get());
Run Code Online (Sandbox Code Playgroud)
作为记录,如果您在资源集合(或其他任何地方)中调用关系,请不要忘记必须省略括号:
MyResource::collection($this->relation);
不是
MyResource::collection($this->relation());
因为关系不是模型的方法,而是属性。
| 归档时间: |
|
| 查看次数: |
1832 次 |
| 最近记录: |