Невозможно обновить красноречивый режим «Многие-ко-многим»Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Невозможно обновить красноречивый режим «Многие-ко-многим»

Сообщение Anonymous »

У меня возникла проблема с обновлением записей. Я пытаюсь обновить две таблицы: сначала таблица ORDERS, а вторая – ORDER_ITEMS, вторая таблица получает массив. У меня нет проблем с сохранением транзакции. Моя проблема в том, что я не могу заставить обновление работать.

Модель заказов

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

public function orderItems()
{
return $this->hasMany('App\Orderitems', 'order_id', 'id')->orderBy('created_at', 'DESC');
// return $this->hasMany(Orderitems::class)->orderBy('created_at', 'DESC');
}
Модель заказа

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

public function orders()
{
return $this->belongsTo('App\Orders','id','order_id');
// return $this->belongsToMany(Orders::class);
}
OrdersController.php

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

public function update(Request $request, Orders $order )
{
$this->validate($request, [
'user_id' => 'required',
'status_id' => 'required',
'currency_id' => 'required',
'company_id' => 'required',
'purchase_no' => 'required|unique:orders,purchase_no,'.$order->id,
'notes' => '',
'admin_notes' => '',
'delivery_date' => '',
'publish' => '',
'product_id' => 'required',
'product_code' => 'required',
'product_name' => 'required',
'quantity' => 'required'
]);
$order = $request->only(
'user_id',
'status_id',
'currency_id',
'company_id',
'purchase_no',
'notes',
'admin_notes',
'delivery_date',
'publish'
);

$order['grandtotal'] =  (float) str_replace(',', '', $request->grandtotal);
$order->update($request);

$input = $request->all();
for($i=0; $i $orders->id,
'product_id' => $input['product_id'][$i],
'product_code' => $input['product_code'][$i],
'product_name' => $input['product_name'][$i],
'cost' => $input['cost'][$i],
'quantity' => intval($input['quantity'][$i]),
'total_cost' => (float) str_replace(',', '', $input['total_cost'][$i]),
];
Orderitems::update($items);
}

if ($request){
Session::flash('message','Purchase order was successfully updated');
Session::flash('m-class','alert-success');
} else {
Session::flash('message','Data is not saved');
Session::flash('m-class','alert-danger');
return redirect()->route('orders.index');
}
return redirect()->route('orders.index');
}
Я считаю, что красноречивое отношение в порядке, потому что я смог завершить сохранение или запись. Подскажите, где накосячил?

Заранее большое спасибо!

Подробнее здесь: https://stackoverflow.com/questions/550 ... y-eloquent
Ответить

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

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

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

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

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