Попробуйте это (или что-то в этом роде):
SELECT p FROM Page p WHERE EXISTS (SELECT v FROM SiteVersion v WHERE p MEMBER OF v.pages AND v.id = 5 AND p.slug = 'index')
Я не тестировал это точно, но у меня что-то похожее на работу. Использование EXISTS
и MEMBER OF
зарывается в разделе DQL Select Examples главы DQL.
Есть два разных способа сделать это.
Простой способ:
cmap <esc>q %s/%%ARTICLE_DATE/<C-r>*/c
Это не использует какие-то причудливые трюки. Он просто использует клавишу <C-r>
для вставки содержимого регистра.
Надежный способ:
cmap <expr> <esc>q "%s/\V%%ARTICLE_DATE/".escape(getreg("*"), "\\/")."/c"
Это использует отображение "expr", что означает, что он будет оценивать vimscript в строку и запускать эту строку как отображение. Это имеет некоторые дополнительные возможности, чтобы убедиться, что если в вашем регистре есть косая черта (вперед или назад), это не испортит поиск.