您好我正在构建一个删除查询,以便在laravel中删除我的数据库中的一行,我遇到了这个问题,我需要找到一行......和...或......和......
所以在普通的php中会是
DELETE * FROM connection_requests
WHERE `user_id`=$user->id AND `selected_user_id`=$id OR
`selected_user_id`=$user->id AND `user_id`=$id;
(第一个and
属于where
,第二个and
属于or
)
现在我如何在laravel
中这样做答案 0 :(得分:2)
这可以尝试
DB::table('connection_requests')
->where(['user_id'=>$user->id, 'selected_user_id'=>$id])
->orWhere(['user_id'=>$id, 'selected_user_id'=>$user->id])
->delete();
答案 1 :(得分:0)
你可以试试这个
DB::table('connection_requests')
->where(function ($query) use ($user->id, $id) {
$query->where('user_id', '=', $user->id)
->where('selected_user_id', '=', $id);
})
->orWhere(function ($query) use ($user->id, $id) {
$query->where('selected_user_id', '=', $user->id)
->where('user_id', '=', $id);
})
->delete();
答案 2 :(得分:0)
我自己修理了所有人,谢谢你和我一起思考
DB::table('connection_requests')
->where('user_id', $user->id)
->where('selected_user_id', $id)
->orWhere('selected_user_id', $user->id)
->orWhere('user_id', $id)
->delete();