Добавление данных в несколько таблиц с помощью одной формы вставкиPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Добавление данных в несколько таблиц с помощью одной формы вставки

Сообщение Anonymous »

Здравствуйте, я пытаюсь вставить данные в 3 таблицы одновременно, но не знаю, почему это не работает. Это функция вставки

Код: Выделить всё

 public function ProductStore(Request $request)
{
$image = $request->file('product_thumbnail');
$name_gen = hexdec(uniqid()) . '.' . $image->getClientOriginalExtension();
Image::make($image)->save('upload/products/thumbnail/' . $name_gen);
$save_url = 'upload/products/thumbnail/' . $name_gen;

$product_id = Product::insertGetId([
'brand_id' => $request->brand_id,
'category_id' => $request->category_id,
'subcategory_id' => $request->subcategory_id,
'subsubcategory_id' => $request->subsubcategory_id,
'product_name' => $request->product_name,
'product_slug' =>  strtolower(str_replace(' ', '-', $request->product_name)),
'product_code' => $request->product_code,
'product_quantity' => $request->product_quantity,

'selling_price' => $request->selling_price,
'discount_price' => $request->discount_price,
'short_description' => $request->short_description,
'long_description' => $request->long_description,
'specifications' => $request->specifications,

'hot_deal' => $request->hot_deal,
'featured' => $request->featured,
'special_offer' => $request->special_offer,
'special_deal' => $request->special_deal,

'product_thumbnail' => $save_url,
'status' => 1,
'created_at' => Carbon::now(),
]);

$images = $request->file('multi_img');
foreach ($images as $img) {

$multi_img_name = hexdec(uniqid()) . '.' . $img->getClientOriginalExtension();
Image::make($img)->save('upload/products/multi-image/' . $multi_img_name);
$uploadPath = 'upload/products/multi-image/' . $multi_img_name;

MultiImg::insert([
'product_id' => $product_id,
'photo_name' => $uploadPath,
'created_at' => Carbon::now(),
]);
}

if ($request->subsubcategory_id == 1) {
ProductLaptop::insert([
'product_id' => $product_id,
'laptop_os' => $request->laptop_os,
'laptop_cpu' => $request->laptop_cpu,
'laptop_gpu' => $request->laptop_gpu,
'laptop_memory' => $request->laptop_memory,
'laptop_display' => $request->laptop_display,
'laptop_storage' => $request->laptop_storage,
]);
} else if ($request->subsubcategory_id == 2) {
ProductTablet::insert([
'product_id' => $product_id,
'tablet_os' => $request->tablet_os,
'tablet_cpu' => $request->tablet_cpu,
'tablet_memory' => $request->tablet_memory,
'tablet_display' => $request->tablet_display,
'tablet_storage' => $request->tablet_storage,
'tablet_camera' => $request->tablet_camera,
]);
} else if ($request->subsubcategory_id == 3) {
ProductPhone::insert([
'product_id' => $product_id,
'phone_os' => $request->phone_os,
'phone_cpu' => $request->phone_cpu,
'phone_memory' => $request->phone_memory,
'phone_display' => $request->phone_display,
'phone_storage' => $request->phone_storage,
'phone_camera' => $request->phone_camera,
]);
}
Как вы можете видеть, я пытаюсь добавить данные в таблицу продуктов, таблицу multimages, а затем на основе subsubcategory_id, выбранного в форме либо на ноутбуках или таблица планшетов или телефонов.
Первые два работают, поскольку они правильно вставляются в таблицу продуктов и multimages с идентификатором продукта в таблице multimage, соответствующим идентификатору в продукте. table.... но условная вставка if не работает. Когда я нажимаю кнопку «Отправить», страница просто обновляется, и ни в одну из таблиц не вставляется никаких данных.

Подробнее здесь: https://stackoverflow.com/questions/718 ... nsert-form
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»