Laravel용 Spatie 역할 플러그인 + 역할이 있는 시드 사용자, 할당된 역할 없음
<p>Laravel 9에서
사용자</p>
<p>Spatie는 모든 것을 오류 없이 처리했지만 데이터베이스에서는 역할과 사용자 사이의 관계가 "model_has_role" 테이블의 모델에 나타나지 않습니다</p>
<p><code>비슷한 캐릭터를 만들었습니다</code></p>
<pre class="brush:php;toolbar:false;">$roleName = '내 역할';
$guardName = 'myGuard';
$roleObj = 역할::create(['guard_name' => $guardName, 'name' => $roleName]);</pre>
<p><code>그런 다음 사용자를 생성합니다. 예를 들어 </code></p>
<pre class="brush:php;toolbar:false;">$user = 새로운 사용자($userDatas);</pre>
<p><code>채워야 할 모델의 모든 데이터를 수집했습니다</code></p>
<pre class="brush:php;toolbar:false;">$arrayWithUsersData = [];
foreach($users를 $user로)
{
if($사용자 !== NULL)
{
$arrayWithUsersData[] = $user->getAttributes();
}
}</pre>
<p><code>이후에 모든 사용자를 한번에 데이터베이스에 삽입하려고 해서 </code></p>
<pre class="brush:php;toolbar:false;">DB::table('users')->insert($arrayWithUsersData);</pre>
<p>마지막으로 foreach $users에서 역할을 할당할 수 있는 모든 방법을 시도했습니다.
좋아요: </p>
<pre class="brush:php;toolbar:false;">$user->할당Role($roleName);
$user->할당Role($roleName, $guardName);
$user->할당Role([$roleName, $guardName]);
$user->할당Role($myRole);
$user->할당Role($myRole, $guardName);
$user->할당Role([$myRole, $guardName]);
$user->syncRoles($myRole);
$user->syncRoles($myRole, $guardName);
$user->syncRoles([$myRole, $guardName]);</pre>
<p>그러나 오류는 발생하지 않지만 여전히 관계가 생성되지 않습니다</p>