У меня есть следующий запрос:
DB::select("SELECT * FROM mod_dns_records WHERE (scheduled = 'N' AND scheduleTime = 0 AND domainId = {$id}) OR (deleteRow = 'Y' AND domainId = {$id})");
Однако это небезопасно для SQL-инъекции. Может ли кто-нибудь помочь мне сделать это в безопасности или рассказать мне, как восстановить это с помощью ORM.
Благодаря!
Это будет запрос, как вы его
$result = DB::table('mod_dns_records') ->where('scheduled', 'N') ->where('scheduleTime', 0) ->where('domainId', $id) ->orWhere('deleteRow', 'Y') ->where('domainId', $id) ->get();
Однако я заметил, что его можно немного оптимизировать, поскольку условие domainId
существует в обеих группах:
$result = DB::table('mod_dns_records') ->where('domainId', $id) ->where(function($q){ $q->where('scheduled', 'N'); $q->where('scheduleTime', 0); $q->orWhere('deleteRow', 'Y'); }) ->get();