Действие формы Laravel не принимает $order->id, но принимает жестко закодированное значениеPhp

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Действие формы Laravel не принимает $order->id, но принимает жестко закодированное значение

Сообщение Anonymous »

Я отлаживаю код, используя {{ dd($order->id) }}, я получил значение идентификатора заказа 100238. Но когда я печатаю


тогда это не работает. Затем я пишу этот {{ маршрут('admin.pos.update_order', ['id' => 100238]) } он отлично работает.
Я не могу решить эту проблему ненормальное поведение. Может ли кто-нибудь подсказать мне, в чем проблема?
Поскольку при отладке он предоставляет идентификатор заказа, он должен работать в коде действия как $order->id
Маршрут:
Route::group(['middleware' => ['admin']], function () {
Route::group(['prefix' => 'pos', 'as' => 'pos.', 'middleware' => ['module:pos_management']], function () {
Route::post('update_order/{id}', 'POSController@update_order')->name('update_order');
});
});

Контроллер:
public function update_order(Request $request, $id): RedirectResponse
{
$order = $this->order->find($order_id);

if (!$order) {
Toastr::error(translate('Order not found'));
return back();
}

$order_type = $order->order_type;

if ($order_type == 'delivery') {
Toastr::error(translate('Cannot update delivery orders'));
return back();
}

$delivery_charge = 0;

if ($order_type == 'home_delivery') {
if (!session()->has('address')) {
Toastr::error(translate('Please select a delivery address'));
return back();
}

$address_data = session()->get('address');
$distance = $address_data['distance'] ?? 0;
$delivery_type = Helpers::get_business_settings('delivery_management');

if ($delivery_type['status'] == 1) {
$delivery_charge = Helpers::get_delivery_charge($distance);
} else {
$delivery_charge = Helpers::get_business_settings('delivery_charge');
}

$address = [
'address_type' => 'Home',
'contact_person_name' => $address_data['contact_person_name'],
'contact_person_number' => $address_data['contact_person_number'],
'address' => $address_data['address'],
'floor' => $address_data['floor'],
'road' => $address_data['road'],
'house' => $address_data['house'],
'longitude' => (string)$address_data['longitude'],
'latitude' => (string)$address_data['latitude'],
'user_id' => $order->user_id,
'is_guest' => 0,
];

$customer_address = CustomerAddress::create($address);
}

// Update order details
$order->coupon_discount_title = $request->coupon_discount_title == 0 ? null : 'coupon_discount_title';
$order->coupon_code = $request->coupon_code ?? null;
$order->payment_method = $request->type;
$order->transaction_reference = $request->transaction_reference ?? null;
$order->delivery_charge = $delivery_charge;
$order->delivery_address_id = $order_type == 'home_delivery' ? $customer_address->id : null;
$order->updated_at = now();

try {
// Save the updated order
$order->save();

// Clear session data if needed
session()->forget('cart');
session(['last_order' => $order->id]);
session()->forget('customer_id');
session()->forget('branch_id');
session()->forget('table_id');
session()->forget('people_number');
session()->forget('address');
session()->forget('order_type');

Toastr::success(translate('Order updated successfully'));

//send notification to kitchen
//if ($order->order_type == 'dine_in') {
$notification = $this->notification;
$notification->title = "You have a new update in order " . $order_id . " from POS - (Order Confirmed). ";
$notification->description = $order->id;
$notification->status = 1;

try {
Helpers::send_push_notif_to_topic($notification, "kitchen-{$order->branch_id}", 'general');
Toastr::success(translate('Notification sent successfully!'));
} catch (\Exception $e) {
Toastr::warning(translate('Push notification failed!'));
}
//}
//send notification to customer for home delivery
if ($order->order_type == 'delivery'){
$value = Helpers::order_status_update_message('confirmed');
$customer = $this->user->find($order->user_id);
$fcm_token = $customer?->fcm_token;

if ($value && isset($fcm_token)) {
$data = [
'title' => translate('Order'),
'description' => $value,
'order_id' => $order_id,
'image' => '',
'type' => 'order_status',
];
Helpers::send_push_notif_to_device($fcm_token, $data);
}

//send email
$emailServices = Helpers::get_business_settings('mail_config');
if (isset($emailServices['status']) && $emailServices['status'] == 1) {
Mail::to($customer->email)->send(new \App\Mail\OrderPlaced($order_id));
}
}

// Redirect back to wherever needed
return redirect()->route('admin.pos.index');
} catch (\Exception $e) {
info($e);
Toastr::warning(translate('Failed to update order'));
return back();
}
}


Подробнее здесь: https://stackoverflow.com/questions/782 ... oded-value
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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