Temat: habtm
Witam,
Mam następujący problem. Posiadam dwie tabele: Orders, Products, ponieważ potrzebuje do jednego zamówienia przypisać wiele produktów skorzystałem z habtm i stworzyłem tabele łączącą orders_products. Model Order i Product korzystają z 'extendAssociations':
var $actsAs = array('extendAssociations');
oraz posiadają relację 'hasAndBelongsToMany'.
W kontrolerze orders_controller mam funkcję dodającą zamówienie:
function addOrd() {
$this->set('products', $this->Order->Product->find('list', array('fields' => array('Product.id', 'Product.Nazwa'))));
$this->set(compact('products'));
if (!empty($this->data)) {
if ( $this->Order->saveAll($this->data)) {
$this->redirect('/');
}
}
}
W odpowiadającym tej funkcji widoku mam taką formułę:
echo $form->input( 'Product.Product',
array( 'type'=>'select',
'multiple'=>'true',
'options'=>$products,
'label'=>'Produkty:'
)
);
Dodaje zamówienie i zaznaczam z ctrl kolejne produkty. Działa poprawnie. Chciałbym jednak dodatkowo do każdego zaznaczonego produktu dodawać ilość sztuk czyli żeby do kazdego rekordu w orders_products dodawać pole 'Sztuki'. Jeśli ktoś wie jak to można zrealizować to będę wdzięczny. Dziękuje z góry.
Pozdrawiam.