Temat: jak ustawiać na sztywno dane w tabeli łączącej?
Witam, mam 4 tabele:
Vouchers, Partners, Categories, Voucher_categories(tabela łącząca) z kolumnami:
vouchers_id categories_id voucher_type created modified
Generalnie chodzi mi o to, żeby przy dodaniu rekordu do tabeli Vouchers i wybraniu kategorii z Categories do tabeli voucher_categories dodawało odpowiedni wpis z voucher_id, category_id a w polu voucher_type dawało zawsze '1'
Analogicznie jeśli dodam coś do tablei partners dodawało do voucher_categories, voucher_id(tu id z kategorii partners), category_id, a w polu voucher_type dawało '2'
W tej chwili po wygenerowaniu poniższych kodów za pomocą cake bake do tabeli łączącej w pole: voucher_type zawsze wstawia mi '0'.
Czy da się coś takiego zrealizować?
Gdzie, jak mam to wstawić? Gdzieś w modelu, czy we własnym kodzie metod add i edit?
W modelu tabeli Vouchers mam coś takiego:
<?php
class Voucher extends AppModel {
var $name = 'Voucher';
var $displayField = 'name';
var $hasAndBelongsToMany = array(
'Category' => array(
'className' => 'Category',
'joinTable' => 'vouchers_categories',
'foreignKey' => 'vouchers_id',
'associationForeignKey' => 'categories_id',
'unique' => true,
'conditions' => '',
'fields' => '',
'order' => '',
'limit' => '',
'offset' => '',
'finderQuery' => '',
'deleteQuery' => '',
'insertQuery' => ''
)
);
}
?>Model tabeli Categories:
<?php
class Category extends AppModel {
var $name = 'Category';
var $displayField = 'name';
var $hasAndBelongsToMany = array(
'Voucher' => array(
'className' => 'Voucher',
'joinTable' => 'vouchers_categories',
'foreignKey' => 'categories_id',
'associationForeignKey' => 'vouchers_id',
'unique' => true,
'conditions' => '',
'fields' => '',
'order' => '',
'limit' => '',
'offset' => '',
'finderQuery' => '',
'deleteQuery' => '',
'insertQuery' => ''
)
);
}
?>