Подсчет кол-во товаров в моих заказах в профиле, как делать?

Здравствуйте, подскажите как сделать подсчет общего кол-во товаров, в моих в заказах в профиле в полной информации о моем заказе, есть кол-во у товаров, товар может быть не один, если их несколько, как вывести общее поле, общее количество товаров и чтобы там все кол-во товаров считались.

Актион:
public function action_view() {


        $id = (int) $this->request->param('id');
        $orders = ORM::factory('order', $id);

        $user = Auth::instance()->get_user();

        if ($orders->user_id != $user->id) {
            $this->request->redirect();
        }

        $orders->view = 1;
        $orders->save();
        $products_count = ORM::factory('orderproduct')->where('order_id', '=', $id)->find_all();

        $ids = array();
        foreach($products_count as $item){
            //var_dump($item->product_id);
            $ids[$item->product_id]['count'] = $item->count;
            $ids[$item->product_id]['orderprice'] = $item->orderprice;
            $ids[$item->product_id]['size'] = $item->size;
			
	 <b> $ids[$item->product_id]['count'] += $item->count;</b>
        }
        //die;
        if($ids){
            $products = ORM::factory('product')->where('id', 'IN', array_keys($ids))->find_all();
        }


        $status = ORM::factory('status')->find_all();

        $deliveries = ORM::factory('delivery')->find_all();
        $payments = ORM::factory('payment')->find_all();

        $deliveriesArray = array();
        foreach($deliveries as $key => $value){
            $deliveriesArray[$value->id] = $value->name;
        }

        $paymentsArray = array();
        foreach($payments as $key => $value){
            $paymentsArray[$value->id] = $value->name;
        }

        $statusArray = array();
        foreach($status as $key => $value){
            $statusArray[$value->id] = $value->status_name;
        }

        $content = View::factory('index/orders/view')
            ->bind('id', $id)
            ->bind('order', $orders)
            ->bind('statusArray', $statusArray)
            ->bind('status', $status)
            ->bind('deliveries', $deliveriesArray)
            ->bind('payments', $paymentsArray)
            ->bind('products_count', $products_count)
            ->bind('products', $products)
            ->bind('ids', $ids);

        $this->template->site_name = "Мои заказы";
        $this->template->content = $content;

    }


Я пробовал методом тыка сделать, добавил по примеру как подсчет есть в корзине.

$ids[$item->product_id]['count'] += $item->count;

не сработало.
  • Вопрос задан
  • 100 просмотров
Пригласить эксперта
Ответы на вопрос 1
Stalker_RED
@Stalker_RED
1. там где $ids = array(); добавить еще одну строку:
$total = 0;
2. Вот штуку
<b> $ids[$item->product_id]['count'] += $item->count;</b>
заменить на:
$total += $item->count;
3. В конце добавить еще один ->bind('total', $total)

Если повезёт, в шаблоне появится переменная $total.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы