xsacha
Только чтение
- Сообщения
- 1,262
- Реакции
- 1,385
- Баллы
- 11,350
Подскажите как можно связать запись с категорией ? Я поля вывел категории в шаблоне и при сохранении записи, думал чтобы ее 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')
);
}