如果尚未附加關係,是否有附加關係的快速方式?我正在使用此代碼更新模型的關係;如果尚未附加Laravel關係,請附上
if (!empty($request->get('roles')) && is_array($request->get('roles'))) {
$message->Roles()->attach($request->get('roles'));
}
if (!empty($request->get('users')) && is_array($request->get('users'))) {
$message->Users()->attach($request->get('users'));
}
但我得到這個錯誤,我是這個錯誤;
SQLSTATE [23000]:完整性約束違規:用於密鑰 '主要'(SQL 1062重複條目 '1-41':插入到
message_user
(message_id
,user_id
)值(1,41),(1,42 ),(1,43),(1,44),(1,45),(1,46),(1,47),(1,48),(1,49),(1,50))
我想避免通過一個非常長的數組列表檢查哪些用戶尚未連接並附加它們。也讓我知道這是否是唯一的方法。
我在想這樣的事情;
$message->Users()->attachIfNotAttached($request->get('users'));
MySQL支持'INSERT IGNORE',但我不認爲laravel也會做。 –
我認爲唯一的解決方案是在連接之前檢查每個用戶是否存在關係。 – LogicDev
什麼存儲在'$ request-> get('users')'?用戶ID? –