Re: association model

2006-09-03 Thread DJ Spark

 do two hasMany relationships to that table, and make a model for it
 i've done that way to make a 'Vote' model , where I have a user_id
and a movie_id , and the value for the vote also.
 phpnut said something about cake having this in a future release
(adding different fields to a join table)

 spark

On 9/3/06, Dolorian <[EMAIL PROTECTED]> wrote:
>
> Have tried many different wayes, but with no success. I can't think out
> how to populate a join table which has more than two fields.
>
> In the index controller  I 'm using the following:
>
> $this->set('langs', $this->Lang->findAll());
>
> In the form:
>
> .. input fields for the seasons table ...
> $html->input('Season/Year');
> .
> ... input fields for the seasons_langs table 
> 
>
>Name:
>  name="langData[][SeasonLang][info]" />
>
> 
>
> So, in the controller I get an array:
>
> $this->params['form']['langData'][1][SeasonLang][Info]
> and
> $this->params['form']['langData'][2][SeasonLang][Info]
> (suppose we have two languages)
>
> Then I make a record for the season :
>
> $this->Season->save($countries_data)
>
> and then I build the arrays for the seasons_langs:
>
> $seasons_langs_data['SeasonLang']['season_id'] =
> $this->Season->getLastInsertID();
>
> foreach ($this->params['form']['langData'] as $key => $value) {
>
>$countries_langs_data['SeasonLang']['lang_id'] = $key;
>$countries_langs_data['SeasonLang']['name'] =
> $value['SeasonLang']['info'];
>
>$this->Season->SeasonLang->save($seasons_langs_data);
> }
>
> Then in the seasons_langs table I have only one record. Cakephp saves
> the record for the first language in the first iteration and then just
> updates this record on the second iteration.
>
>
> >
>


-- 
[web] http://synapsisdi.com.br
[livesets] http://djspark.com.br

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



Re: association model

2006-09-03 Thread Dolorian


Dolorian wrote:

> Then I make a record for the season :
>
> $this->Season->save($countries_data)
>

this is wrong. I mean:

$this->Season->save($this->params['form']['Season'])


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



Re: association model

2006-09-03 Thread Dolorian

Have tried many different wayes, but with no success. I can't think out
how to populate a join table which has more than two fields.

In the index controller  I 'm using the following:

$this->set('langs', $this->Lang->findAll());

In the form:

.. input fields for the seasons table ...
$html->input('Season/Year');
.
... input fields for the seasons_langs table 


   Name:




So, in the controller I get an array:

$this->params['form']['langData'][1][SeasonLang][Info]
and
$this->params['form']['langData'][2][SeasonLang][Info]
(suppose we have two languages)

Then I make a record for the season :

$this->Season->save($countries_data)

and then I build the arrays for the seasons_langs:

$seasons_langs_data['SeasonLang']['season_id'] =
$this->Season->getLastInsertID();

foreach ($this->params['form']['langData'] as $key => $value) {

   $countries_langs_data['SeasonLang']['lang_id'] = $key;
   $countries_langs_data['SeasonLang']['name'] =
$value['SeasonLang']['info'];

   $this->Season->SeasonLang->save($seasons_langs_data);
}

Then in the seasons_langs table I have only one record. Cakephp saves
the record for the first language in the first iteration and then just
updates this record on the second iteration.


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



Re: association model

2006-08-31 Thread Guy


Dolorian wrote:
> Thanks for the answer.
> I have two questions on it:
>
> 1. I need to add an array item in Langs for every table that use langs,
> right ?
> 2. 'seasons_langs' has a third filed 'info', which actually holds the
> specific language information (for the other tables there could be more
> such fields). How am I supposed to populate this fild, when the
> 'seasons_langs' is determined as joinTable ?

Hmm, I was too quick to answer...
I fear that you need to create a Model for seasons_langs, then and have
hasMany and belongsTo tables.

To get a hint, you could perhaps see what has been done for Acl, with
Aro, Aco, and AroAco Models...


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



Re: association model

2006-08-31 Thread Dolorian

Thanks for the answer.
I have two questions on it:

1. I need to add an array item in Langs for every table that use langs,
right ?
2. 'seasons_langs' has a third filed 'info', which actually holds the
specific language information (for the other tables there could be more
such fields). How am I supposed to populate this fild, when the
'seasons_langs' is determined as joinTable ?


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



Re: association model

2006-08-31 Thread Guy

I would bet on HABTM

class Season extends AppModel {
var $hasAndBelongsToMany = array (
'Lang' =>
 array('className' => 'Lang',
'joinTable' => 'seasons_langs'));

}

class Lang extends AppModel {
var $hasAndBelongsToMany = array (
'Season' =>
 array('className' => 'Season',
'joinTable' => 'seasons_langs'));

}

et voilĂ .. That should work...


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