【发布时间】:2017-08-05 04:28:47
【问题描述】:
我无法在以下代码中覆盖 $user->id:
$followers_list = follow::where('followed_id',$userId['userId'])
->get();
foreach($followers_list as $follower)
{
$user = myuser::find($follower->follower_id);
echo $user->id;//everything is fine
$user->id = Crypt::encrypt(['id'=> $user->id]);
echo $user->id; //it's zero for all users
array_push($followers,$user);
}
在 laravel eloquent 中防止这种类型转换(整数到字符串)是规则还是什么?
如何将 id 的整数值替换为其加密字符串?
有什么帮助吗?
【问题讨论】:
-
您应该包括您遇到的错误。无论如何,用户表都有 id 作为主键,所以你不能让它全部相同
//it's zero for all users,如果你使用默认的 laravel 迁移,user->id 只能是整数值(不加密)。 -
我没有错误。我使用的是 laravel 默认迁移,我只想在我的代码中加密 id 而不是在数据库中!@MaulikGangani 查看修改后的代码
-
在使用 laravel 的默认迁移时设置 ip 而不保存域模型应该不会导致错误。如果保存模型,可以保存为0,否则会报错。
标签: php laravel-5 laravel-eloquent laravel-encryption