어떻게 이러한 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>