У меня проблема с вставкой элементов в базу данных, я запутался, как получить каждую строку таблицы с дочерним элементом или без него. Позже я покажу вам, ребята, вывод, который у меня есть,
Мой вывод.

Как видите, число (1) и число (2) имеют дочерние элементы, а число (3) не имеет дочерних элементов.
Логика вставки предметов будет такой,
Первый сценарий (сложный)
Сценарий: сначала вставьте родительский элемент после того, как вставка родительского элемента получит последний идентификатор вставки, затем вставьте дочерний элемент с идентификатором родительского элемента.
Второй сценарий (основная часть)
Сценарий: сначала вставьте родительский элемент, если у родительского элемента нет дочернего элемента, вставка в следующую таблицу будет остановлена, поскольку у родительского элемента нет дочернего элемента
Пример вывода в базу данных, которую я сделал вручную, таков.
Первый стол
Второй стол

Пример моего контроллера
public function insert_wish_list_menu_order(Request $request) {
$now = new DateTime();
DB::insert('INSERT INTO wish_list_menu_order (customer_id,wish_list_menu_name,wish_list_total_price,wish_created_at)
VALUES(?,?,?,?) ',[
$customer_id,
$item,
$price,
$now,
]);
return response()->json('Successfully Inserted');
}
public function insert_wish_list_menu_belong_condiments(Request $request) {
$Qty = $request->get('Qty');
$Item = $request->get('Item');
$Cost = $request->get('Cost');
$now = new DateTime();
$last_id_insert = DB::select('SELECT max(wish_menu_id) as id FROM wish_list_menu_order');
foreach($last_id_insert as $result)
{
$id_last_inserted = $result->id;
}
DB::insert('INSERT INTO wish_list_menu_belong_condiments (wish_menu_id,belong_condi_name,belong_condi_qty,belong_condi_price,belong_condi_created)
VALUES(?,?,?,?,?) ',[
$id_last_inserted,
$Item,
$Qty,
$Cost,
$now
]);
return response()->json('Successfully Inserted');
}
Моя функция отправки
$('button#add_to_cart').on('click',function () {
var customer_id = $('#hidden_customer_id').val();
$('#noun_chaining_order').find('tr.condimentParent').each(function (i) {
var $tds = $(this).find('td'),
Qty = $tds.eq(0).text(),
Item = $tds.eq(1).text(),
Price = $tds.eq(2).text();
console.log(Item);
});
$('#noun_chaining_order').find('tr.editCondiments').each(function (i) {
var $tds = $(this).find('td'),
Qty = $tds.eq(0).text(),
Item = $tds.eq(1).text(),
Cost = $tds.eq(2).text();
console.log(Item);
});
});