Php Laravel:未定义的属性:Illumb\Database\Eloquent\Collection::$id

Php Laravel:未定义的属性:Illumb\Database\Eloquent\Collection::$id,php,laravel,web,laravel-5.3,Php,Laravel,Web,Laravel 5.3,当在团队中添加用户时,我希望当前用户将此用户的用户id保存在数据库中,而不是当前用户的id,而是当我使用$user=user::all时;或者$user=user::find$id;不工作并出现错误: Undefined property: Illuminate\Database\Eloquent\Collection::$id 当使用$user=Auth::user时;保存当前用户id public function addUser($id) { $teams =

当在团队中添加用户时,我希望当前用户将此用户的用户id保存在数据库中,而不是当前用户的id,而是当我使用$user=user::all时;或者$user=user::find$id;不工作并出现错误:

 Undefined property: Illuminate\Database\Eloquent\Collection::$id
当使用$user=Auth::user时;保存当前用户id

public function addUser($id)
{

            $teams =TeamWork::find($id);

            $user =User::all();

            $teammember = new TeamMember;
            $teammember->user()->associate($user->id);
            $teammember->Teamwork()->associate($teams->id);
            $teammember->save();

            $users = User::pluck('username');

        return View('teams.adduser' , compact('users'))->with('teams', $teams);


      }
萨拉姆·阿利科姆, 这里有两个$id,$user->id和$team->id,
首先,您不能使用$user->id,因为所有方法都返回数组而不是对象。因此,您必须使用$userId=Auth::user->id。andvar_转储$team以确保其具有属性id。

尝试将toArray预先添加到此:$users=User::pulk'username'->toArray;它变了吗anything@lewis4u这行代码的samewell错误:$teammember->user->associate$user->id;您正在从DB中提取所有用户,您说$user->id…。这不是一个用户…您需要在团队合作中找到它,类似$user=user::findi这样做是为了在用户搜索要添加到团队中的人时获取所有用户,并将其用户id保存在teammember表中OK,但请尝试dd$user->id;在$user=user::all下;你会看到你得到了什么…仍然保存当前用户id的id而不是另一个