Eloquent mit deklarierter Tabelle zur Verwendung in der Abfrage

Given Larvel 5.2 und eine SQL Server 2005-Datenbank. Ich habe so etwas gefragt:

declare @mapping_table table(id int, name varchar(255), mapping_value varchar(255))

insert into @mapping_table values (1, 'foo', 'A1')
insert into @mapping_table values (2, 'bar', 'A1')
insert into @mapping_table values (3, 'baz', 'A2')

select distinct(lookup_field) 
from production_table
where lookup_field not in (
  select name
  from @mapping_table 
)

Wenn ich dies mit Eloquent wie folgt ausführe:DB::connection('sqlsrv')->select($query) Ich bekomme den FehlerThe active result for the query contains no fields.

Background: Ich erstelle eine App, die sicherstellt, dass bestimmte Abfragen zu einer gültigen Ergebnismenge für Berichtszwecke führen. In den meisten Fällen handelt es sich dabei um Datenzuordnungen für die freie Texteingabe in eine definierte Liste von Optionen. Wenn in der Produktion ein neuer Freitext-Eintrag gefunden wird, sollte eine Abfrage die nicht zugeordneten Werte enthalten, damit ich sie der definierten Tabelle hinzufügen kann.

Ich habe keinen Schreibzugriff auf die Produktionsdatenbank, sondern nur Lesezugriff. Das Erstellen gespeicherter Prozeduren ist aufgrund dieser Einschränkung keine Option. Wenn ich die Abfrage in SQL Server Management Studio kopiere, funktioniert sie wie Charm. Ich vermute, das liegt daran, dass SSMS die Ergebnisse intern trennt und Eloquent nicht.

Wie kann ich eine Abfrage erhalten, die der angegebenen entspricht, um mit Eloquent zu arbeiten?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage