djiize,
What version of CakePHP are you using? I haven't been able to get the
'with' parametera on a hABTM relationship working.
Thanks for any info you have on this.
On Jun 20, 5:38 pm, djiize <[EMAIL PROTECTED]> wrote:
> Take this cautiously, it's just an experiment.
>
> I just found an interest for the 'with' parameter when defining an
> HABTM when reading the source code.
>
> So I defined that:
> class Estate extends AppModel {
> var $name = 'Estate';
> var $hasAndBelongsToMany = array(
> 'Service' => array(
> 'with' => 'EstateService',
> ),
> );
> }
> class Service extends AppModel {
> var $name = 'Service';
> var $hasAndBelongsToMany = array('Estate');
> }
>
> My view action warned me about a EstateService model, so...
> class EstateService extends AppModel {
> var $name = 'EstateService';
> var $useTable = 'estates_services'; // for some
> Inflector reasons I
> didn't care about for now, I must add that or Model search for
> estate_services table
> }
>
> And now in my view, I have that:
> Array
> (
> [Estate] => Array
> (
> [id] => 1
> [name] => lorem ipsum
> [description] => dolor sit amet
> [type_id] => 1
> [created] => 2007-06-20 23:08:03
> [modified] => 2007-06-20 23:10:33
> )
> [Type] => Array
> (
> [id] => 1
> [name] => Apartment
> )
> [Service] => Array
> (
> [0] => Array
> (
> [id] => 1
> [name] => Service1
> [EstateService] => Array
> (
> [estate_id] => 1
> [service_id] => 1
> [comment] => test1
> )
> )
> [1] => Array
> (
> [id] => 3
> [name] => Service2
> [EstateService] => Array
> (
> [estate_id] => 1
> [service_id] => 3
> [comment] => test2
> )
> )
> )
> )
>
> Tadaa, did you see the "comment" field? ;)
> And thanks to this design, you can also use another table than the
> real join-table.
>
> Maybe someone more experimented with this technic can add his comments
> please?
> Just to confirm I don't misunderstand the purpose of this parameter...
>
> I repeat, take this cautiously, I'm only playing with this thing for
> half an hour now
>
> On 20 juin, 22:46, BoSc <[EMAIL PROTECTED]> wrote:
>
> > Does this allow me to update the join-table, also the columns that are
> > not really part of the HABTM association?
>
> > Also, at the moment I solved this using the Has Many --> Belongs to
> > <-- Has many method. The solution was to use the recursive variable.
>
> > thanks for the help so far.
>
> > On Jun 20, 1:59 pm, Joshua Benner <[EMAIL PROTECTED]> wrote:> I did
> > something similar, where 'faculty' has and belongs to many
> > > 'activity' and each link has a student count associated with it -- I
> > > used a custom finderQuery in the definition of the association to pull
> > > the student count field with all the other data (TSQL, so some minor
> > > differences from MySQL, and this works with cake 1.2):
>
> > > var $hasAndBelongsToMany = array(
> > > 'Activity' => array('className' => 'Activity',
> > > 'joinTable' => 'activity_links',
> > > 'foreignKey' => 'faculty_id',
> > > 'associationForeignKey' => 'activity_id',
> > > 'unique' => true,
> > > 'finderQuery' => '
> > > SELECT
> > > [Activity].[id] as [Activity.id],
> > > [Activity].[name] as [Activity.name],
> > > [Activity].[activity_type_id] as [Activity.activity_type_id],
> > > [Activity].[credits] as [Activity.credits],
> > > [ActivityLink].[students] as [Activity.students],
> > > [ActivityLink].[id] as [Activity.activity_link_id]
> > > FROM
> > > [activities] AS [Activity]
> > > JOIN [activity_links] AS [ActivityLink] ON [ActivityLink].
> > > [activity_id] = [Activity].[id]
> > > WHERE
> > > [ActivityLink].[faculty_id] = {$__cakeID__$}
> > > ORDER BY
> > > [Activity].[name] ASC'
> > > )
>
> > > On Jun 20, 6:03 am, BoSc <[EMAIL PROTECTED]> wrote:
>
> > > > Hi,
>
> > > > I have three tables:
>
> > > > cities
> > > > categories
> > > > categories_cities
>
> > > > The first two are normal tables, the third one is used for linking.
> > > > Since I want to be able to indicate if the link is active, I've added
> > > > a column active to the categories_cities table. Using HABTM I am not
> > > > able to access any data of the categories-cities table caus it's used
> > > > for linking only. Is there any way to do make this work?
>
> > > > I've considered using the Has Many, Belongs to method, but in someway,
> > > > using the findAll method doesn't return data in a deep enough
> > > > recursive way.
>
> > > > Any thoughts?
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---