Well, the find('list') will return an array of id values, so you need
to look at those arrays (and often the SQL is helpful), so I'd suggest
turning debug to 3 and looking at the output.
What I would expect to see from what you have there would be:
$states would contain a list of States
$countries would contain a list of Countries
$countrytranslations would contain a list of the
countryTranslations
On Dec 17, 11:41 pm, Nature Lover <[email protected]>
wrote:
> Hi,
>
> I am a newbie for CakePHP.
>
> Working on a multilingual E-commerce website.
>
> Except the basic learning curve there is problem regarding finding
> multilingual content based on current selected language and site base
> language.
>
> I have tables as follows for languages, countries,
> country_translations respectively:
>
> CREATE TABLE IF NOT EXISTS `languages` (
> `code` char(2) NOT NULL,
> `site_admin_id` tinyint(3) unsigned NOT NULL,
> `base` enum('y','n') NOT NULL default 'n',
> `disabled` enum('y','n') NOT NULL default 'n',
> `created` datetime NOT NULL,
> `modified` datetime NOT NULL,
> PRIMARY KEY (`code`),
> KEY `site_admin_id` (`site_admin_id`)
> ) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='Languages supported by
> site';
>
> CREATE TABLE IF NOT EXISTS `countries` (
> `iso2` char(2) NOT NULL,
> `site_admin_id` tinyint(3) unsigned NOT NULL,
> `disabled` enum('y','n') NOT NULL default 'n',
> `created` datetime NOT NULL,
> `modified` datetime NOT NULL,
> PRIMARY KEY (`iso2`),
> KEY `site_admin_id` (`site_admin_id`)
> ) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='Countries supported by
> Axygen website';
>
> CREATE TABLE IF NOT EXISTS `country_translations` (
> `id` smallint(5) unsigned NOT NULL auto_increment,
> `site_admin_id` tinyint(3) unsigned NOT NULL,
> `country_iso2` char(2) NOT NULL,
> `language_code` char(2) NOT NULL,
> `name` varchar(64) NOT NULL,
> `created` datetime NOT NULL,
> `modified` datetime NOT NULL,
> PRIMARY KEY (`id`),
> KEY `site_admin_id` (`site_admin_id`),
> KEY `language_code` (`language_code`),
> KEY `country_iso2` (`country_iso2`)
> ) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='Countries''
> translations including base language' AUTO_INCREMENT=488 ;
>
> Here I want to fetch country translations to show in registration
> form. The requirement is to fetch translation for selected language
> [assume FR - French] if available or for the default language [assume
> EN- English].
>
> then further to show the country iso as values in SELECT input of form
> and Country translations as Options.
>
> I have tried as below:
> In Controller:
> $states = $this->User->State->find('list');
> $countries = $this->User->Country->find('list');
>
> $countrytranslations=$this->User->Country->CountryTranslation->find
> ('list');
> $this->set(compact('states',
> 'countries','countrytranslations'));
>
> In View Template
> echo $form->input('country',array('options'=>
> $countrytranslations));
>
> But it didn't worked.
>
> Please help me!
>
> Thanks!
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"CakePHP" 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
-~----------~----~----~----~------~----~------~--~---