cakephp - Working with hasMany and Multi-select -


scenario

  • i have provider , package.
  • a provider can have number of featured packages.
  • so need habtm between provider , package
  • i want save providers featured packages in 1 shot using provider::edit() method

setup
have 3 models.
provider featuredpackage package

models

these setup using 'habtm through', should not confused habtm. relationships follows.

provider hasmany featuredpackage
featuredpackage belongsto provider
package hasmany featuredpackage
featuredpackage belongsto package

controller

public function admin_edit($id) {     if ($this->request->is('post') || $this->request->is('put')) {         if ($this->provider->saveall($this->request->data)) { // snip 

view

echo $this->form->input('featuredpackages', array('type' => 'select', 'multiple' => true, 'options' => $packages)); 

the issue
i'm not sure how save multiple variable numbers of hasmany records 1 side of relationship. know reading book expected data array should numerically indexed beneath model.

however i'm not sure name field data formatted correctly.

i unable bake view seems ignore hasmany , not add field it.

field names i've tried
featuredpackage
featuredpackage.featuredpackage
featuredpackage.package_id
featuredpackage..package_id
featuredpackage.[].package_id
featuredpackage.package_id][

i've solved using data massage method in model, called controller.

this goes through , updates array submitted form match expected save.

i blogged solution, http://jedistirfry.co.uk/blog/2013-08/how-to-create-hasmanythrough-multi-selects/


Comments

Popular posts from this blog

php - Calling a template part from a post -

Firefox SVG shape not printing when it has stroke -

How to mention the localhost in android -