Php Laravel多对多更新特定字段
我有很多对很多的关系。在“邮递员”中,我通过查找id和状态 我的查询类似于:updatefinds\u user SET status=TRUE,其中find\u id=2,user\u id=1 我现在这样做:Php Laravel多对多更新特定字段,php,mysql,laravel,eloquent,Php,Mysql,Laravel,Eloquent,我有很多对很多的关系。在“邮递员”中,我通过查找id和状态 我的查询类似于:updatefinds\u user SET status=TRUE,其中find\u id=2,user\u id=1 我现在这样做: DB::table('finds_user') ->where('find_id', '=', $request->find_id) ->where('user_id', '=', $user->id) ->update(['sta
DB::table('finds_user')
->where('find_id', '=', $request->find_id)
->where('user_id', '=', $user->id)
->update(['status' => $request->status]);
如何使用Elount而不是DB Query Builder来实现这一点
多谢各位 我们有两个更新条件: 1-查找id=2 2-用户id=1 假设用户模型中的关系名为“finds” 查询将如下所示:
User::find(1)->finds()->newPivotQuery()->where('find_id',2)->update(['status'=>true])
如果您有一个名为“FindUser”的pivot表模型:
这回答了你的问题吗?不。我只想将db查询转换为eloquent。是的,它是,newPivotQuery()方法直接对数据透视表进行查询,我已经测试过了。您可以这样做:$user->finds()->newPivotQuery()->where('find_id',2)->update(['status'=>true]);将给出相同的结果用户和查找模型之间的多对多关系的名称是什么。
FindUser::where('user_id',$user->id)->where('find_id',2)->update(['status'=>true]);