ホームページ  >  に質問  >  本文

これらの Prisma クエリを 1 つのクエリに減らすにはどうすればよいですか?

<p>事前に <code>id</code> を知らなくても、日付 <code>udpate</code><code> の最後の <code> を取得する必要があります。 </code> の場合、次のような 2 つのクエリで実行できます。</p> <pre class="brush:php;toolbar:false;">ctx.prisma.post.update({ どこ: { id: ctx.prisma.postを待ってください .findFirst({ ここで: { ユーザー ID: "c2e4c855-768c-48ab-b9c1-155ce1090cd6" }、 orderBy: { 日付: "desc" }, }) .then(post => post.id), }、 データ: { 更新: true }、 })</pre> <p>これをクエリとして機能させようとしましたが、成功しませんでした。これが SQL 句として得られた最良のものです。 </p> <pre class="lang-sql prettyprint-override"><code>UPDATE 投稿 SET が更新されました = true WHERE ID IN ( SELECT * FROM ( IDの選択 投稿から WHERE user_id = "c2e4c855-768c-48ab-b9c1-155ce1090cd6" AND date = (SELECT MAX(date) from Post)) as x); </code></pre> <p>これは句ですが、データベースにも 2 回アクセスします。 SQL でこれを行うより良い方法があれば、それを学びたいと思っていますが、Prisma を使用して <code>raw</code> クエリを送信し、すべてのタイプ セーフを失うことは望んでいません。 </p> <p>探しているものは可能ですか?それとも 2 つのクエリに分けたほうがよいですか? </p>
P粉423694341P粉423694341413日前418

全員に返信(1)返信します

  • P粉741223880

    P粉7412238802023-09-04 00:51:06

    特定の user_id の最新の Post のみを更新する場合:

    リーリー

    これを prisma でどのように書くかわかりませんが、これは SQL クエリです。

    返事
    0
  • キャンセル返事