Laravel:Undefined属性:Illuminate \ Database \ Eloquent \ Collection :: $ id

时间:2017-03-01 14:14:22

标签: 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 =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);


      }

1 个答案:

答案 0 :(得分:0)

Salam Alikom,
您在这里有两个$id$user->id$team->id
首先,您无法使用$user->id,因为all()方法会返回array not object。所以你必须使用$userId = Auth::user()->id代替。并var_dump($team)确保其拥有财产id