I agree.  It looks like a great article.  I would still suggest going through 
the blog tutorial though, if you have not already.



On 17 Mar 2010, at 13:02, Isaac wrote:

> 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


_______________________________________________

UPHPU mailing list
[email protected]
http://uphpu.org/mailman/listinfo/uphpu
IRC: #uphpu on irc.freenode.net

Reply via email to