首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Api资源查询/采集方法

Api资源查询/采集方法
EN

Stack Overflow用户
提问于 2021-11-24 14:53:48
回答 1查看 27关注 0票数 0

这是我的UserResource中的代码。

代码语言:javascript
复制
public function toArray($request)
{
    $gender = Crypt::decryptString($this->gender);
    
    return ['gender' => $gender,'id' => 1];
    return parent::toArray($request);
}

我不能在API资源集合上查询或使用集合模型。

代码语言:javascript
复制
{"data":[{"gender":"m","id":1},{"gender":"m","id":1}]}

这是返回的数据。我只想要性别为'm‘的。这只是一个测试,我想让返回的数据更大,但首先这个简单的例子需要工作。

代码语言:javascript
复制
    Route::get('/test', function() {
        $probant = Probant::all();
        $a = UserResource::collection($probant);
        
        return $a;
});

$a->where('gender','m')->get()不工作。

代码语言:javascript
复制
$filtered = $a->filter(function ($value, $key) {
    return $value->gender == 'm';
});

$filtered->all();

这也不起作用。我无法过滤从API资源接收的数据。谢谢你的帮助。

EN

回答 1

Stack Overflow用户

发布于 2021-11-24 15:18:25

使用$a->where('gender','m')->get(),您将尝试查询由资源返回的集合,而不是您的雄辩模型。

更改为以下内容:

代码语言:javascript
复制
$probant = Probant::where('gender','m')->get();

return UserResource::collection($probant);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70098257

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档