You welcome, That link saved my life too xD, it's a little bit tricky use HABTM in CakePHP but that article clears all out.
Regards On Tue, Mar 16, 2010 at 3:08 PM, Adam Haymond <[email protected]> wrote: > DUDE!!! I Isaac, you are a life saver!!! Thank you so much for that link! > You have no idea how long I poured over that issue yesterday! > > Thank you very much for giving me the information to solve my problem! > > > -Adam > > On Tue, Mar 16, 2010 at 1:02 PM, Isaac <[email protected]> wrote: > >> Hi Adam I found this link about HABTM relation in CakePHP, it might be >> usefull: >> >> >> http://mrphp.com.au/code/code-category/cakephp/cakephp-1-2/working-habtm-form-data-cakephp >> >> Regards >> >> >> On Tue, Mar 16, 2010 at 11:04 AM, Adam Haymond <[email protected]>wrote: >> >>> I am working to build a job board with an admin side for adding jobs >>> and categories, and a front end for browsing and searching. >>> >>> On the admin side I have a form for editing/creating jobs. >>> >>> Each job needs to be able to be assigned to multiple categories. I am >>> assuming the best way to do this is through an HABTM association of >>> the jobs and categories tables. So I have created the categories_jobs >>> table and placed the HABTM associations along with joinTable >>> properties in each of the jobs and categories models respectively. >>> >>> The following information is collected from the form: Title, >>> Description, Location >>> >>> That information needs to be stored in the jobs table. >>> >>> Also, I have multiple checkboxes of categories on the form, these come >>> from the categories table through the HABTM relation. >>> >>> When I try to save using $this->Job-save($this->data) I get an SQL >>> error about saving an array. >>> >>> I need to be able to fill out the job data and then select multiple >>> categories for the job to be associated with. >>> >>> >>> Here is my action in the jobs_controller code: >>> >>> function edit($id=null) { >>> $this->set('category', $this->Job->Category->find('list')); >>> $data = $this->editOrCreate($id); >>> if(!empty($this->data)) { >>> $this->data['Category']['id'] = (array('category_id')); >>> $this->User['User']['admin'] = 1; >>> if($this->Job->saveAll($data)) { >>> $this->Session->setFlash('The job has been saved'); >>> $this- >>> >redirect(array('action'=>'index',null,null,true)); >>> } else { >>> $this->Session->setFlash('The Job could not be saved. >>> Please try again later.'); >>> } >>> } >>> $categories = $this->Job->Category->find('list'); >>> } >>> >>> >>> and here is the view where the data is entered: >>> >>> <?php echo $form->create('Job');?> >>> >>> <div class="body"> >>> >>> <? if($editing): ?> >>> <div class="floatRight"> >>> <?php echo $html->link('Delete Job', >>> array('action'=>'delete', >>> $form->value('Job.id')), null, __('Are you sure you want to delete >>> this job?', true).' '. $form->value('Job.name')); ?> >>> </div> >>> >>> <h2>Edit Job - <?=$form->value('Job.name')?></h2> >>> <?=$form->input('username',array('type'=>'hidden'));?> >>> <? else: ?> >>> <h2>Create New Job</h2> >>> >>> <? endif; ?> >>> >>> <?=$form->input('name', >>> array('autocomplete'=>'off','label'=>'Title', >>> 'style'=>'width: 175px;'));?> >>> <?=$form->input('description', >>> array('autocomplete'=>'off','label'=>'Description', 'style'=>'width: >>> 175px;'));?> >>> <?=$form->input('location', array('autocomplete'=>'off', >>> 'label'=>'Location', 'style'=>'width: 175px;'));?> >>> <?=$form->input('job_id', array('type'=>'hidden', >>> 'value'=>'job_id'));?> >>> <?=$form->input('category_id',array('options'=> >>> $category,'multiple'=>'checkbox', 'label'=>'Categories'));?> >>> >>> </div> >>> >>> <?=$form->save('Job');?> >>> >>> <?php echo $form->end();?> >>> >>> >>> Any help to overcome this problem would be GREATLY appreciated. I am >>> pretty new at PHP and CakePHP, so if you could be verbose in your >>> reply I would be grateful. >>> >>> _______________________________________________ >>> >>> UPHPU mailing list >>> [email protected] >>> http://uphpu.org/mailman/listinfo/uphpu >>> IRC: #uphpu on irc.freenode.net >>> >> >> > _______________________________________________ UPHPU mailing list [email protected] http://uphpu.org/mailman/listinfo/uphpu IRC: #uphpu on irc.freenode.net
