W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
Eloquent 也提供了一些額外的輔助方法,使相關(guān)模型的使用更加方便。例如,我們假設(shè)一個(gè)用戶可以擁有多個(gè)角色,并且每個(gè)角色都可以被多個(gè)用戶共享。給某個(gè)用戶附加一個(gè)角色是通過(guò)向中間表插入一條記錄實(shí)現(xiàn)的,可以使用 attach
方法完成該操作:
$user = App\Models\User::find(1);
$user->roles()->attach($roleId);
在將關(guān)系附加到模型時(shí),還可以傳遞一組要插入到中間表中的附加數(shù)據(jù):
$user->roles()->attach($roleId, ['expires' => $expires]);
當(dāng)然,有時(shí)也需要移除用戶的角色??梢允褂?detach
移除多對(duì)多關(guān)聯(lián)記錄。detach
方法將會(huì)移除中間表對(duì)應(yīng)的記錄;但是這兩個(gè)模型都將會(huì)保留在數(shù)據(jù)庫(kù)中:
// 移除用戶的一個(gè)角色...
$user->roles()->detach($roleId);
// 移除用戶的所有角色...
$user->roles()->detach();
為了方便起見,attach
和 detach
也允許傳遞一個(gè) ID 數(shù)組:
$user = App\Models\User::find(1);
$user->roles()->detach([1, 2, 3]);
$user->roles()->attach([
1 => ['expires' => $expires],
2 => ['expires' => $expires],
]);
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: