Como filtrar as prevencaos por INCIDENTE através do join das tabelas?!?! return DB::table('incidente'); -> where('user_id', '=', $adminId, 'and') -> where('userrole_id', '=', 1) $prevencao = Prevencao::whereHas('incidente', function ($query) { $query->where('id', Request::input('incidente_id')); })->get(); } private function FiltraNomeIncidente() { // Como filtrar as prevencaos por INCIDENTE através do join das tabelas?!?! /* SELECT DISTINCT incidentes.incidente AS Nome_Incidente FROM Incidentes INNER JOIN prevencao_incidentes ON prevencao_incidentes.incidente_id = incidentes.id; */ $query = DB::table('incidentes') ->join('prevencao_incidentes', 'join prevencao_incidentes on prevencao_incidentes.incidente_id', '=', 'incidentes.id') ->select('incidentes.incidente') ->get(); } SELECT DISTINCT incidentes.incidente AS Nome_Incidente FROM Incidentes INNER JOIN prevencao_incidentes ON (prevencao_incidentes.incidente_id = incidentes.id) INNER JOIN sintoma_incidentes ON (sintoma_incidentes.incidente_id = incidentes.id) INNER JOIN tratamento_incidentes ON (tratamento_incidentes.incidente_id = incidentes.id); $query = DB::table('incidentes') ->join('prevencao_incidentes', 'join prevencao_incidentes on prevencao_incidentes.incidente_id', '=','incidentes.id') ->join('sintoma_incidentes', 'join sintoma_incidentes on sintoma_incidentes.incidente_id', '=','incidentes.id') ->join('tratamento_incidentes', 'join tratamento_incidentes on tratamento_incidentes.incidente_id', '=','incidentes.id') ->select('incidentes.incidente') ->get() PARA TESTE NO LOCALHOST: 1) SELECT pi.id, pi.incidente_id, pi.prevencao_id, incidentes.incidente AS Nome_Incidente, prevencaos.tratar AS Nome_prevencao FROM prevencao_incidentes as pi INNER JOIN incidentes ON pi.incidente_id = incidentes.id INNER JOIN prevencaos ON pi.prevencao_id = prevencaos.id; 2) SELECT pi.id, pi.incidente_id, pi.sintoma_id, incidentes.incidente AS Nome_Incidente, sintomas.tratar AS Nome_sintoma FROM sintoma_incidentes as pi INNER JOIN incidentes ON pi.incidente_id = incidentes.id INNER JOIN sintomas ON pi.sintoma_id = sintomas.id; 3) SELECT pi.id, pi.incidente_id, pi.tratamento_id, incidentes.incidente AS Nome_Incidente, tratamentos.tratar AS Nome_tratamento FROM tratamento_incidentes as pi INNER JOIN incidentes ON pi.incidente_id = incidentes.id INNER JOIN tratamentos ON pi.tratamento_id = tratamentos.id; private function deleta_registro($id){ $incidente = Incidente::find('id', $id); $incidente->prevencao()->detach($id); } // Incidente::findOrFail($id)->prevencao()->attach($request->input('incidente_id')); TESTE NA FUNCAO DETACH EM ROUTE $incidente = Incidente::find(3); // Pega o id de incidente $incidente->prevencao()->detach(7); // Pega o id prevencao e apaga $incidente = Incidente::find(4); // Pega o id de incidente $incidente->prevencao()->detach(); // FUNCIONALIDADE DE FUNCOES DETACH, ATTACH & SYNC // DELETE FROM roles_actions WHERE action_id IN (1, 2, 3) AND role_id = 1 $role = Role::find(1); $role->actions()->detach([1, 2, 3]) // Para excluir todas os relacionamentos, basta executar o método detach() sem nenhum parâmetro $role = Role::find(1); $role->actions()->detach(); // USO DE WherePivot method $visits = Visit::find($visit_id); $visits->products()->wherePivot('product_id','=',$product_id)->detach(); This only works as long as you have a product only once attached to the visit!!! DB::delete('delete from toy_user where toy_id = ? AND user_id = ? AND status = 0', array($toy->id,Auth::id())) public function getProductVisitDelete(){ $visit_id = (int)Request('visit_id'); $product_id = (int)Request('product_id'); $sqlDelete = "delete from prevencao_incidente where prevencao_id=$prevencao_id and incidente_id = $incidente_id"; DB::select($sqlDelete); } SOLUCAO 2 -> class PivotModel extends Eloquent { // public $incrementing = false; protected $primaryKey = [ 'incidente_id', 'prevencaos_id' ]; } $detachPivot = Pivot::where('incidente_id', $incidente)->where('prevencao_id', $prevencao)->first(); $detachPivot->delete(); DB::table('connection_requests') ->where(['user_id'=>$user->id, 'selected_user_id'=>$id]) ->orWhere(['user_id'=>$id, 'selected_user_id'=>$user->id]) ->delete(); \DB::table('connection_requests') ->where('prevencao_id', $prevencaO->id) ->where('incidente_id', $incidente->id) ->delete();