将每个记录的blob转换为blob,然后作为json响应返回

时间:2015-11-08 10:12:55

标签: json laravel laravel-5 eloquent base64

假设我在数据库表中有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 ]);

那么任何建议,建议,线索,有助于实现我想要的东西吗?

1 个答案:

答案 0 :(得分:1)

我猜测img列是您所指的blob。如果是这样,您可以借助Collection方法循环浏览$vote $vote = $vote.map(function ($v) { return base64_encode($v->img); } 用户{/ 3}}:

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

或者如果您始终希望将img作为base64字符串返回,则可以在用户模型中使用map

$vote

作为旁注。您可能希望为$votedUsers选择更好的名称,因为它不是真正的投票,而是投票设置为1的用户集合。您将更容易理解您在做什么时所做的事情。一段时间后你会回到你的代码。如果您与某人合作,则其他人更容易理解代码。

我不确定投票栏的用途,但是$usersWithVote$voted_users可能是一个好名字?或$users_with_vote / loginPage="/login.aspx"如果您更喜欢snake_case