Добавить счетчик при добавлении продуктов CakeStack Overflow

В моих категориях таблиц у меня есть строка count, которую я хочу обновлять каждый раз, когда создается новый продукт, но я новичок в этом cakephp и не знаю, как играть с двумя контроллерами одновременно.

Это добавить в моем контроллере продуктов: (по умолчанию добавить создание с испечь)

   public function add()
{
$product = $this->Products->newEntity();
if ($this->request->is('post')) {
$product = $this->Products->patchEntity($product, $this->request->getData());

if ($this->Products->save($product)) {
$this->Flash->success(__('The product has been saved.'));

return $this->redirect(['action' => 'index']);
}
$this->Flash->error(__('The product could not be saved. Please, try again.'));
}
$categorys = $this->Products->Categorys->find('list', ['limit' => 200]);
$this->set(compact('product', 'categorys'));
$this->set('_serialize', ['product']);
}

Каждый продукт имеет связанную категорию.

0

Решение

Посмотрите на CounterCache поведение в Поваренная книга

Все, что вам нужно сделать, это прикрепить его к вашей модели и назвать имя столбца, в котором вы хотите сохранить счет (я предполагаю, что это называется product_count)

class CategoriesTable extends Table
{
public function initialize(array $config)
{
$this->addBehavior('CounterCache', [
'Products' => ['product_count']
]);
}
}
2

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector