【问题标题】:convert blob per record to blob and then return as a json response将每条记录的 blob 转换为 blob,然后作为 json 响应返回
【发布时间】:2015-11-08 10:12:54
【问题描述】:

假设我在数据库表中有 6 条记录,每条记录都有“blob”,我想将每条记录中的“blob”转换为 base64 字符串。我知道我可以使用

base64_encode($data)

但问题是我不知道如何遍历每条记录,获取它的 'blob 并将其转换为 base64。这是我检索记录的方式(请参阅下文)

$vote = users_details::where('vote', '=', 1)->get(['firstname', 'middlename', 'lastname', 'branch', 'position', 'img']);

并作为 json 响应返回(参见下文)

return response()->json(['success' => true, 'vote' => $vote ]);

所以有什么建议、建议、线索、帮助实现我想要的吗?

【问题讨论】:

    标签: json laravel laravel-5 eloquent base64


    【解决方案1】:

    我猜img 列就是您所指的 blob。如果是这样,您可以在$vote 的帮助下循环访问Collection 的用户map 方法:

    $vote = $vote.map(function ($v) {
        return base64_encode($v->img);
    }
    

    或者,如果您总是希望 img 作为 base64 字符串返回,您可以在您的用户模型中使用 mutator

    public static function getImgAttribute($value)
    {
        return base64_encode($value);
    }
    

    作为旁注。您可能想为$vote 选择一个更好的名称,因为它不是真正的投票,而是投票设置为 1 的用户集合。当您返回代码时,您将更容易理解您所做的事情过了一会儿。如果您要与某人合作,其他人更容易理解代码。

    我不确定投票栏的用途,但也许 $votedUsers$usersWithVote 会是个好名字?或者$voted_users / $users_with_vote 如果你更喜欢snake_case

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-01-05
      • 2019-04-11
      • 2018-10-15
      • 1970-01-01
      • 2016-09-24
      • 2017-09-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多