Sorry for the test email, but I had typed a long response submitted it
and google said that it was sent, but it never posted.  So that is why
I sent the test message.

Ok back to business.

The project is an online auction system.  Since the types of items
will be changing all the time I wanted to generate the questions for
each type of item from the database rather than hard coding the
questions.  Here is an example.

Person sells item of type "shoes"
All questions for type shoes are pulled from the questions table.
Each question has a list of available answers which are stored in the
answers table.

Question: What color is your shoes?
Available answers: White, Green, Blue, and other

So the question I have is how do I make a model work with this
scenario to store the chosen answer.

I believe I would need a table with three different table ids.

item_id, question_id, answer_id

I am struggling on how to represent that in a model.

Thanks,
Joey

On Jun 8, 4:29 pm, Joshua Benner <[EMAIL PROTECTED]> wrote:
> Well, the most direct answer:
>
> Items belongsTo Types
> Types hasAndBelongsToMany Questions
> Questions hasAndBelongsToMany Answers
> (you can add relations in the other direction, too)
>
> Then when you retrieve an item, you would need recursive=3, and you'd
> have access to all the data in an array following the association hierarchy.
>
> Now, I don't know the specific application you're working on, but my
> instinct suggests that you might not want to be pulling every question
> for each type that any given item is related to. So I would pull items
> with recurisve=1, provide links to the types, and pull types one at a
> time based on user input with the appropriate recursive setting for the
> display you want to generate.
>
> Remember to try not to pull way more data than you will use or display,
> and don't define associations just for the heck of it if you're not
> going to use them. Also remember two-way associations can be weird with
> higher recursion settings, causing a lot of extra queries to the database.
>
> If you would like to describe your application and the target interface
> a little, maybe we could help you narrow down your implementation options.
>
>
>
> Joey wrote:
> > Ok here is the scenario.
>
> > There will be "Items" that are of a "Type" and each "Type" has it own
> > "Questions" and the "Questions" have their own "Answers".  So how do I
> > store the "Answers" chosen for each "Question" for each "Item".
>
> > The table structure so far is below.  Let me know if this doesn't make
> > sense, or if I am going about this wrong.
>
> > Thanks,
> > Joey
>
> > CREATE TABLE `items` (
> >   `id` int(11) NOT NULL auto_increment,
> >   `type_id` int(11) NOT NULL,
> >   `title` varchar(255) default NULL,
> >   `description` mediumtext,
> >   `date` datetime NOT NULL,
> >   PRIMARY KEY  (`id`),
> >   KEY `type_id` (`type_id`)
> > )
>
> > CREATE TABLE `types` (
> >   `id` int(11) NOT NULL auto_increment,
> >   `name` varchar(100) NOT NULL,
> >   PRIMARY KEY  (`id`)
> > )
>
> > CREATE TABLE `questions` (
> >   `id` int(11) NOT NULL auto_increment,
> >   `question` mediumtext NOT NULL,
> >   PRIMARY KEY  (`id`)
> > )
>
> > CREATE TABLE `answers` (
> >   `id` int(11) NOT NULL auto_increment,
> >   `answer` mediumtext NOT NULL,
> >   PRIMARY KEY  (`id`)
> > )
>
> > CREATE TABLE `answers_questions` (
> >   `answer_id` int(11) NOT NULL,
> >   `question_id` int(11) NOT NULL,
> >   `order` int(11) default NULL,
> >   PRIMARY KEY  (`answer_id`,`question_id`)
> > )
>
> > CREATE TABLE `questions_types` (
> >   `question_id` int(11) NOT NULL,
> >   `type_id` int(11) NOT NULL,
> >   `order` int(11) default NULL,
> >   PRIMARY KEY  (`question_id`,`type_id`)
> > )
>
> --
> Joshua Bennerhttp://bennerweb.com


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Cake 
PHP" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/cake-php?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to