Laravel 5 如何设置此值-无法将获取类stdClass的对象转换为字符串

Laravel 5 如何设置此值-无法将获取类stdClass的对象转换为字符串,laravel-5,Laravel 5,我有一个Laravel 5.1应用程序,我正在为现有的企业开发。他们有一个包含10k记录的客户表。我正在尝试为这些用户创建临时密码,以便他们可以被邀请在新应用程序上完成配置文件 我的想法是为临时密码创建一个临时表(没有双关语),这样我就可以避免在本练习之外存储未修改的密码 以下是我目前正在做的事情 $users = DB::table('customers')->take(10)->get(); foreach($users as $user){ $pass

我有一个Laravel 5.1应用程序,我正在为现有的企业开发。他们有一个包含10k记录的客户表。我正在尝试为这些用户创建临时密码,以便他们可以被邀请在新应用程序上完成配置文件

我的想法是为临时密码创建一个临时表(没有双关语),这样我就可以避免在本练习之外存储未修改的密码

以下是我目前正在做的事情

$users = DB::table('customers')->take(10)->get();

    foreach($users as $user){
        $password = str_random(8);
        DB::table('temp_passwords')->insert([
            'custId' => $user->id,
            'tempPass' => $password,
            'hash' => Hash::make($password)
        ]);
        $user->hasPass = 1;
        $user->save();
    }
这就可以生成和散列密码。然后,我想我应该在customer表(“hasPass”)中设置一个标志,以便跟踪需要获取的记录

那部分不起作用

        $user->hasPass = 1;
        $user->save();
它给了我-类stdClass的对象无法转换为字符串

2个问题我想,我如何在foreach中为每项记录设置标志和/或是否有更好的方法来应对整个挑战

谢谢

这里是我用来解决这个问题的两个循环…

$password = str_random(8);
        DB::table('temp_passwords')->insert([
            'tempPass' => $password,
            'hash' => Hash::make($password)
            ]);
            $user = Customer::where('hasPass', 0)->first();
        $password = TempPassword::where('custId', '=', '')->first();

        $user['hasPass'] = 1;
        $user->save();

        $password->custId = $user['id'];
        $password->save();
然后…

$password = str_random(8);
        DB::table('temp_passwords')->insert([
            'tempPass' => $password,
            'hash' => Hash::make($password)
            ]);
            $user = Customer::where('hasPass', 0)->first();
        $password = TempPassword::where('custId', '=', '')->first();

        $user['hasPass'] = 1;
        $user->save();

        $password->custId = $user['id'];
        $password->save();

对于可能不得不这样做的任何人。

是否有人愿意听听我是如何解决这一问题的。。。我用2表示循环。一个用于生成所有临时密码和散列。另一个任务是将它们分配给用户。如果有人想知道我是如何解决这个问题的。。。我用2表示循环。一个用于生成所有临时密码和散列。另一种方法是将它们分配给用户。