찾다

 >  Q&A  >  본문

어떻게 이러한 Prisma 쿼리를 단일 쿼리로 줄일 수 있나요?

<p><code>id</code>를 미리 알지 못한 채 날짜별 <code>udpate</code>의 마지막 <code>를 가져와야 합니다. , 다음과 같은 두 가지 쿼리를 사용하여 이를 수행할 수 있습니다. </p> <pre class="brush:php;toolbar:false;">ctx.prisma.post.update({ 어디: { ID: ctx.prisma.post를 기다립니다 .findFirst({ 여기서: { 사용자 ID: "c2e4c855-768c-48ab-b9c1-155ce1090cd6" orderBy: { 날짜: "설명" }, }) .then(포스트 => 포스트.ID), }, 데이터: { 업데이트됨: 사실 }, })</pre> <p>이를 쿼리로 작동시키려고 노력했지만 성공하지 못했습니다. 이것은 SQL 절로 얻은 것 중 최고입니다. </p> <pre class="lang-sql Prettyprint-override"><code>업데이트 포스트 SET 업데이트됨 = true ID가 있는 곳( 선택 * 에서( ID 선택 게시물에서 user_id = "c2e4c855-768c-48ab-b9c1-155ce1090cd6" AND 날짜 = (게시물에서 MAX(날짜) 선택)) as x); <p>이것은 절임에도 불구하고 데이터베이스에 두 번 액세스합니다. SQL에서 이 작업을 수행하는 더 좋은 방법이 있다면 배우고 싶지만 Prisma를 사용하여 <code>raw</code> 쿼리를 보내고 모든 유형 안전성을 잃고 싶지는 않습니다. </p> <p>내가 찾고 있는 것이 가능한 것입니까, 아니면 두 개의 쿼리로 유지해야 합니까? </p>
P粉423694341P粉423694341448일 전443

모든 응답(1)나는 대답할 것이다

  • P粉741223880

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

    특정 user_id 的最新 Post만 업데이트하려는 경우:

    으아악

    프리즈마에서는 어떻게 작성하실지 모르겠지만 SQL 쿼리입니다.

    회신하다
    0
  • 취소회신하다