这是我的UserResource中的代码。
public function toArray($request)
{
$gender = Crypt::decryptString($this->gender);
return ['gender' => $gender,'id' => 1];
return parent::toArray($request);
}我不能在API资源集合上查询或使用集合模型。
{"data":[{"gender":"m","id":1},{"gender":"m","id":1}]}这是返回的数据。我只想要性别为'm‘的。这只是一个测试,我想让返回的数据更大,但首先这个简单的例子需要工作。
Route::get('/test', function() {
$probant = Probant::all();
$a = UserResource::collection($probant);
return $a;
});$a->where('gender','m')->get()不工作。
$filtered = $a->filter(function ($value, $key) {
return $value->gender == 'm';
});
$filtered->all();这也不起作用。我无法过滤从API资源接收的数据。谢谢你的帮助。
发布于 2021-11-24 15:18:25
使用$a->where('gender','m')->get(),您将尝试查询由资源返回的集合,而不是您的雄辩模型。
更改为以下内容:
$probant = Probant::where('gender','m')->get();
return UserResource::collection($probant);https://stackoverflow.com/questions/70098257
复制相似问题