witam,
chciałbym zrobić możliwość wybierania atrybutów przy dodawaniu produktu do koszyka.
Mam tabelę:
Kod:
ProductOption:
tableName: product_option
connection: doctrine
columns:
name: { type: string(255) }
relations:
ProductOptionValues:
class: ProductOptionValue
type: many
local: id
foreign: option_id
ProductOptionValue:
tableName: product_option_value
connection: doctrine
columns:
name: { type: string(255) }
option_id: { type: integer }
relations:
ProductOption:
class: ProductOption
local: option_id
foreign: id
Products:
class: Product
local: value_id
foreign: product_id
refClass: ProductValue
ProductValue:
tableName: product_value
connection: doctrine
columns:
product_id: { type: integer, primary: true }
value_id: { type: integer, primary: true }
relations:
Product:
local: product_id
foreign: id
type: one
onDelete: CASCADE
ProductOptionValue:
local: value_id
foreign: id
type: one
onDelete: CASCADE
ProductOption- to np. smak, rozmiar itp.
ProductOptionValue - to np. XL, L, M itp - jest przypisany do ProductOption
Tabela ProductValue łączy produkty z konkretnymi atrybutami.
Teraz w jaki sposób wyświetlić na stronie produktu wszystkie przypisane do niego atrybuty i zrobić liste rozwijaną?
Może powinien połączyć tabele (model) Product z ProductOption?
Czy za pomocą sfWidgetFormDoctrineChoice da radę jakoś wyciągnąć przypisane wartości do produktu?
Kod:
$this->setWidgets(array(
'smak' => new sfWidgetFormDoctrineChoice(array(
'model' => 'ProductValue',
'add_empty' => false))
));
Próbowałem tak, ale oczywiście to wyciąga wszystkie wartości z tej tabeli (co jest oczywiste zresztą)
Jak wyciągnąć tyle wartości przypisane do danego produktu
pozdr.