Php 如何在Laravel Jetstream中设置用户当前团队

Php 如何在Laravel Jetstream中设置用户当前团队,php,laravel,jetstream,Php,Laravel,Jetstream,我的应用程序需要管理员能够为用户创建注册访问权限。这意味着该帐户是为他们“创建的一半”。在此过程中,将设置团队分配。此过程结束时将生成一个链接,以允许用户完成帐户注册 $user = App\Models\User::create(array( 'name' => 'New Person', 'email' => 'mail@example.com', 'password' => Hash::make(hex2bin(random_bytes(32)),

我的应用程序需要管理员能够为用户创建注册访问权限。这意味着该帐户是为他们“创建的一半”。在此过程中,将设置团队分配。此过程结束时将生成一个链接,以允许用户完成帐户注册

$user = App\Models\User::create(array(
    'name' => 'New Person',
    'email' => 'mail@example.com',
    'password' => Hash::make(hex2bin(random_bytes(32)),
    'callsign' => 'New C/S',
    'team'     => 1,
    'company' => 'Their company'
));

$teamToAssign = App\Models\Team::find(1); // This gets passed in but for demonstration purposes, assume its the first team
$teamToAssign->users()->attach($user, array('role' => 'participant'));
Laravel\Jetstream\Events\TeamMemberAdded::dispatch($teamToAssign, $user);
上述帐户创建工作正常,但是Jetstream需要一个“个人团队”,如果用户有“当前团队”,则可以忽略该团队。我在Jetstreams文档中找不到将用户设置为当前团队的用法

我试过:

$user->currentTeam = $teamToAssign;
$user->update();

但这是行不通的。我知道我可以使用直接数据库查询来更新当前团队,但我更喜欢雄辩的方法。如何将我的团队分配给用户
currentTeam
?只提到如何查看用户当前团队。

您可以使用内置方法
switchTeam($team)
,您可以在trait中找到该方法


您可以使用
$user->switchTeam($team)谢谢!如果你回答这个问题,我一定会记下来的。我认为这个新的Laravel8.xJetstream功能取代了Auth是新的,并且在文档@ClémentBaconnier中仍处于测试阶段
 $user->switchTeam($teamToAssign);