我想要没有一些记录的分离
我的role_user表是id | role_id | USER_ID
import pandas as pd
df1 = pd.DataFrame({'fld1': ['x', 'y'],
'fld2': ['a', 'b1']})
df2 = pd.DataFrame({'fld3': ['y', 'x', 'y'],
'fld4': ['a', 'b1', 'c2']})
print df1
fld1 fld2
0 x a
1 y b1
print df2
fld3 fld4
0 y a
1 x b1
2 y c2
df1['tmp'] = 1
df2['tmp'] = 1
df = pd.merge(df1, df2, on=['tmp'])
df = df.drop('tmp', axis=1)
print df
fld1 fld2 fld3 fld4
0 x a y a
1 x a x b1
2 x a y c2
3 y b1 y a
4 y b1 x b1
5 y b1 y c2
我不想分离一些记录需要的所有记录(我的意思是找到解决其中detach()内的where子句的方法。我怎样才能做到这一点?谢谢。
答案 0 :(得分:13)
Finnaly我找到了解决方案
$user->roles()->wherePivot('role_id', '!=', 3)->detach();
答案 1 :(得分:1)
您可以使用同步并传入您不想删除的ID数组。 反过来是使用分离并传入要删除的ID数组。