48 lines
1.3 KiB
PHP
48 lines
1.3 KiB
PHP
<?php
|
|
/**
|
|
* OrderProductRepo.php
|
|
*
|
|
* @copyright 2022 opencart.cn - All Rights Reserved
|
|
* @link http://www.guangdawangluo.com
|
|
* @author Edward Yang <yangjin@opencart.cn>
|
|
* @created 2022-07-04 21:14:12
|
|
* @modified 2022-07-04 21:14:12
|
|
*/
|
|
|
|
namespace Beike\Repositories;
|
|
|
|
use Beike\Models\Order;
|
|
use Beike\Models\OrderProduct;
|
|
use Illuminate\Database\Eloquent\Model;
|
|
use Illuminate\Database\Eloquent\Builder;
|
|
use Illuminate\Database\Eloquent\Collection;
|
|
|
|
class OrderProductRepo
|
|
{
|
|
public static function createOrderProducts(Order $order, $cartProducts)
|
|
{
|
|
$orderProducts = [];
|
|
foreach ($cartProducts as $cartProduct) {
|
|
$orderProducts[] = [
|
|
'product_id' => $cartProduct['product_id'],
|
|
'order_number' => $order->number,
|
|
'product_sku' => $cartProduct['sku_id'],
|
|
'name' => $cartProduct['name'],
|
|
'image' => $cartProduct['image'],
|
|
'quantity' => $cartProduct['quantity'],
|
|
'price' => $cartProduct['price'],
|
|
];
|
|
}
|
|
$order->orderProducts()->createMany($orderProducts);
|
|
}
|
|
|
|
/**
|
|
* @param $id
|
|
* @return Builder|Builder[]|Collection|Model|null
|
|
*/
|
|
public static function find($id)
|
|
{
|
|
return OrderProduct::query()->findOrFail($id);
|
|
}
|
|
}
|