Всем привет! Учусь, учусь и еще раз учусь))
Есть 3 таблицы
Orders::
id | user_id | shop_id
1 | 3 | 111
OrderProducts::
id | order_id | product_id | name | price | oldprice
10 | 1 | 50 | null | null | null
11 | 1 | 51 | null | null | null
Products::
id | shop_id | name | price | oldprice | delivery
50 | 111 | Юла1 | 1000 | 900 | 100
51 | 111 | Юла2 | 2000 | 1800 | 100
Если пользователь кладет товар в корзину, OrderProducts - заполняем order_id и product_id, поля (name, price, oldpric) eимеют null, так ка пользователь еще не оформил заказ, а цена может измениться. Это сделано!
Как только пользователь оформил заказ, мы должны из таблицы Products:: (50 и 51 id) поля (name, price, oldpric) перенести в OrderProducts. Как это сделать?
Можно ли сделать с помощью attach, sync? Прочитал документацию + интернет - ниче не понял! https://laravel.com/docs/5.4/eloquent-relationships#inserting-and-updating-related-models
Если можно с комментариями по подробнее.
Заранее - Огромное Вам спасибо, и куча благодарностей)))
$order_products = OrderProduct::where([
['order_id', $order_id],
])->get();
foreach ($order_products as $order_product){
// находим 1 товар (нужны его данные)
$product = Product::find($order_product->product_id);
// сохраняем параметры товара
OrderProduct::where('product_id', $product->id)->update(
[
'article' => $product->article,
'image' => $product->image,
'name' => $product->name,
'filter_color_id' => $product->filter_color_id,
'price' => $product->price,
'oldprice' => $product->oldprice,
]
);
}
А как можно по другому сохранить?
Каким образом можно подключиться к БД сайта без указания пароля? ($mysqli = new mysqli($db_host, $db_user, $db_pass, $db_name);, $db_pass) (пользователю не должно быть видно...
У меня не получается создать пользовательский элемент который будет авто масштабировать в таблице (grid)Результат которого я хочу добиться...
У меня есть 2 объекта один статичный другой подвижныйНужно чтобы статичный объект повторял положение подвижного