ich die folgende Abfrage in SQL geschrieben haben:Fortsetzung generierten SQL Get Feldnamen ohne Backticks zu erzeugen
Select *
From npt_articles
Inner Join npt_authors
Inner Join users
Inner Join npt_teams
Where npt_teams.id In (1)
und die folgende SQL durch die Fortsetzung gem generiert:
SELECT *
FROM `npt_articles`
INNER JOIN `npt_authors`
INNER JOIN `users`
INNER JOIN `npt_teams`
WHERE ('npt_teams.id' IN (1))
Die ersten Ergebnisse zurück , die zweite nicht, wenn ich die Back-Ticks dann die zweite entfernt, dann erzeugt es das gleiche Ergebnis wie die erste.
Dies ist der Code, der die zweite SQL erzeugt:
team_articles = user.npt_teams.to_a.inject({}) {|arts,team|
arts.merge({ team.name =>
NptArticle.join(:npt_authors).join(:users).join(:npt_teams).where('npt_teams.id' => [team.id]).to_a.uniq})
}
Wie kann ich die Abfrage ohne Backticks erzeugt werden?
Sind Sie sicher, dass die Back-Zecken sind das Problem und nicht die WHERE ('npt_teams.id' IN (1)) '? Back-Ticks sollten nicht das Problem verursachen - die einfachen Anführungszeichen sollten jedoch. – Siyual
ok, dann wie bekomme ich eine Fortsetzung, um es ohne Anführungszeichen dann zu generieren? – Thermatix
Ich kann Ihnen leider nicht helfen. Ich weiß nichts über 'Sequel'. – Siyual