Wie kann ich diese Prisma-Abfragen auf eine einzige Abfrage reduzieren?
<p>Ich muss den letzten <code> des Benutzers </code> nach Datum abrufen, ohne vorher die <code>id</code> zu kennen </code>, ich kann es mit zwei Abfragen wie dieser machen: </p>
<pre class="brush:php;toolbar:false;">ctx.prisma.post.update({
Wo: {
ID: Warten auf ctx.prisma.post
.findFirst({
wobei: { Benutzer-ID: "c2e4c855-768c-48ab-b9c1-155ce1090cd6 },
orderBy: { Datum: "desc"
})
.then(post => post.id),
},
Daten: {
aktualisiert: wahr
},
})</pre>
<p>Ich habe versucht, es als Abfrage zum Laufen zu bringen, hatte aber keinen Erfolg. Dies ist die beste SQL-Klausel, die ich je bekommen habe: </p>
<pre class="lang-sql Prettyprint-override"><code>UPDATE-Beitrag
SET aktualisiert = wahr
WO id IN (
WÄHLEN AUS (
SELECT-ID
VON Beitrag
WHERE user_id = "c2e4c855-768c-48ab-b9c1-155ce1090cd6"
AND date = (SELECT MAX(date) from Post)) as x);
</code></pre>
<p>Obwohl es sich hierbei um eine Klausel handelt, greift sie auch zweimal auf die Datenbank zu. Wenn es eine bessere Möglichkeit gibt, dies in SQL zu tun, wäre ich daran interessiert, es zu lernen, aber ich möchte Prisma nicht verwenden, um <code>raw</code>-Abfragen zu senden und jegliche Typsicherheit zu verlieren. </p>
<p>Ist das, was ich suche, möglich oder sollte ich es in zwei Abfragen behalten? </p>