GraphQL, где выбрать подзапрос
В этот день я учился GraphQL
с Laravel
рамки, Библиотека Маяка. Я пытался сделать что-тоSELECT Query
.
В результате мне интересно, что GraphQL может выбрать ниже SQL-запрос
SELECT * FROM TABLE_A WHERE type=1 AND chart_id=(SELECT id FROM TABLE_B WHERE phone='0000~~')
Я ожидаю, что Клиент сначала получит результат от этого запроса.
SELECT id FROM TABLE_B WHERE phone='0000~~'
А затем выполните второй запрос, думаю, я могу получить результат.
Но мне интересно, что я могу получить результат с 1 запроса. Спасибо.
1 ответ
Решение
Вы можете попробовать следующее
$phoneNumber = '0000~~';
$data = DB::table('tableA')->where('type',1)
->whereIn('chart_id',function($query) use ($phoneNumber) {
$query->select('id')
->from('tableB')
->where('phone', '=',$phoneNumber);
})->get();
Если есть связь между tableA
а также tableB
вы можете сделать следующее
TableA::where('type',1)
->whereHas('tableBRelationshipName', function ($q) use ($phoneNumber) {
$q->select('id')
$q->where('phone','=',$phoneNumber);
})->get();