XF 1.5 Подскажите как можно связать запись с категорией ?

xsacha

Только чтение
Сообщения
1,262
Реакции
1,383
Баллы
5,850
Подскажите как можно связать запись с категорией ? Я поля вывел категории в шаблоне и при сохранении записи, думал чтобы ее id записывался в таблицу категории, но не знаю как можно это прописать. Как вообще делается связь между таблицами.
Контроллер записи такой:
PHP:
public function actionSave(){

        $this->_assertPostOnly();

        $product_id = $this->_input->filterSingle('product_id', XenForo_Input::UINT);
        $groups = $this->_input->filterSingle('usergroups', XenForo_Input::ARRAY_SIMPLE);
           
        $dwInput = $this->_input->filter(array(
                'product_name' => XenForo_Input::STRING,
                'product_description' => XenForo_Input::STRING,
                'product_img' => XenForo_Input::STRING,
                'product_links' => XenForo_Input::STRING,
                'price_perday' => XenForo_Input::UINT,
                'price_perweek' => XenForo_Input::UINT,
                'price_permonth' => XenForo_Input::UINT,
                'price_lifetime' => XenForo_Input::UINT,
        ));

       
       
        $dw = XenForo_DataWriter::create('Ice_Shop_DataWriter_Product');

        $dw->set('usergroups', implode(',', $groups));

        if ($this->_getIceShopProductModel()->getProduct($product_id))
        {
            $dw->setExistingData($product_id);
        }

        $dw->set('product_id', $product_id);

        $dw->bulkSet($dwInput);
        $dw->save();

        return $this->responseRedirect(
                XenForo_ControllerResponse_Redirect::SUCCESS,
                XenForo_Link::buildAdminLink('shop')
        );

    }
Контроллер категории:
PHP:
public function actionSave(){

        $this->_assertPostOnly();

        $category_id = $this->_input->filterSingle('category_id', XenForo_Input::UINT);
           
        $dwInput = $this->_input->filter(array(
                'category_name' => XenForo_Input::STRING,
                'product_id' => XenForo_Input::UINT,
                'user_id' => XenForo_Input::UINT,
                'category_count' => XenForo_Input::UINT,
        ));

               
        $dw = XenForo_DataWriter::create('Ice_Shop_DataWriter_Categories');

        if ($this->_getIceShopCategoriesModel()->getCategory($category_id))
        {
            $dw->setExistingData($category_id);
        }

        $dw->set('category_id', $category_id);
        $dw->bulkSet($dwInput);
        $dw->save();

        return $this->responseRedirect(
                XenForo_ControllerResponse_Redirect::SUCCESS,
                XenForo_Link::buildAdminLink('shop-category')
        );

    }
В модели еще нечего не писал.
 
Это id категории будет у меня так и стоит, мне надо связать записи с категорий, чтобы при сохранении записи она ссылалась на выбранную категорию. Чтобы потом можно было фильтровать. Для этого я создал поле product_id в таблице категорий, чтобы туда подтягивался product_id записи, т.е незнаю как сделать связь между категорией и записью, так все записывается но связи нет. Как в менеджере ресурсов хотел сделать.
 
Современный облачный хостинг провайдер | Aéza
Назад
Сверху Снизу