У меня есть этот код для удаления данных из нескольких таблиц за один раз:
DB::table('tb_stikes_register_school')->where('register_id', $_POST['id'])->delete(); DB::table('tb_stikes_register_guardian')->where('register_id', $_POST['id'])->delete(); DB::table('tb_stikes_register_student')->where('register_id', $_POST['id'])->delete();
Я пытаюсь сократить это только на 1 запрос, register_id от guardian
и school
таблиц – это внешний ключ таблицы student
. Я пытаюсь использовать соединение, но только запись таблицы student
удаляется. Есть ли обходное решение?
Что-то вроде этого, может быть, не проверено
DB::table(DB::raw('FROM tb_stikes_register_school, tb_stikes_register_guardian, tb_stikes_register_student')) ->join(ENTER JOIN INFO) // wasn't clear how your tables were related ->where('register_id', $_POST['id']) ->delete();
Или вы можете использовать полностью сырой запрос:
DB::query('SQL statement here');
В основном воссоздание чего-то похожего на это: удаление строк из нескольких таблиц