Hi all,

I am trying to do something that I think is pretty common.

I am working on an auction site and if I had say a auctions table and
a auction_images table. I want to be able to use multiple images with
multiple auctions.

In other words - auction1 be associated with auction_image 1, 2, 3 &
auction2 be associated with 1, 2, 3

When I use a $belongsTo relationship from Users to Images it works
fine, but that limits things to haveing specific images directly
linked to image id's (effectively "using up" the associated images).

I thought that the HABTM direction was the way to go, but am having a
problem with it.  But when I use HABTM, I get an error that the model
images is not associated with the model images. I believe that I have
followed the book.cakephp directions and Josh Benner's directions but
it's not working.

Here are the model's:

     Auction Model:
        class Auction extends AppModel {

                var $name = 'Auction';

                var $actsAs = array('Containable');

                var $belongsTo = array(
                        'Category' => array(
                                'className'  => 'Category',
                                'foreignKey' => 'category_id'
                        ),
                        'Status' => array(
                                'className'  => 'Status',
                                'foreignKey' => 'status_id'
                        ),
                        'Winner' => array(
                                'className'  => 'User',
                                'foreignKey' => 'winner_id'
                        )
                );

                var $hasMany = array(
                        'Bidbutler'  => array(
                                'className'  => 'Bidbutler',
                                'foreignKey' => 'auction_id',
                                'limit'      => 10,
                                'dependent'  => true
                        ),

                        'Bid' => array(
                                'className'  => 'Bid',
                                'foreignKey' => 'auction_id',
                                'order'      => 'Bid.id DESC',
                                'limit'      => 10,
                                'dependent'  => true
                        ),

                        'Autobid' => array(
                                'className'  => 'Autobid',
                                'foreignKey' => 'auction_id',
                                'limit'      => 10,
                                'dependent'  => true
                        )
                );

                var $hasAndBelongsTo = array(
                        'AuctionImage'   =>
                                array(
                                        'className'                  => 
'AuctionImage',
                                        'joinTable'                     => 
'auctions_auction_images',
                                        'foreignKey'                   => 
'auction_id',
                                        'associationForeignKey' => 
'auction_image_id',
                                        'unique'                        => 
false,
                                        'limit'                            => 
'6',
                                        'order'                            => 
array('order' => 'asc'),
                                ),
                );

     AuctionImages Model:

        class AuctionImage extends AppModel {

                var $name = 'AuctionImage';

                var $hasAndBelongsToMany = array(
                        'Auction' => array(
                                'className'                   => 'Auction',
                                'joinTable'                       => 
'auctions_auction_images',
                                'foreignKey'                    => 
'auction_image_id',
                                'associationForeignKey'  => 'auction_id',
                                'unique'                         => false,
                                'limit'                            => '6'

                        )
                );

I'm not sure how the controller language is supposed to look but an
example of the auction_image language would be:

$auction = $this->AuctionImage->Auction->read(null, $auction_id);

-- 
Our newest site for the community: CakePHP Video Tutorials 
http://tv.cakephp.org 
Check out the new CakePHP Questions site http://ask.cakephp.org and help others 
with their CakePHP related questions.


To unsubscribe from this group, send email to
[email protected] For more options, visit this group at 
http://groups.google.com/group/cake-php

Reply via email to