Thanks a lot,

but it not saving to Costs & FixedCosts Table somehow, i tried, even if its
not executing after $this->request->is


public function add_cost($uId){
        if (!$uId){
            throw new NotFoundException(__('Unit id Not found, try with a
valid ID'));
        }

        $unitId = $this->Units->get($uId);

        *$unit = $this->Units->patchEntity($unitId,
$this->request->data(),['associated' => ['Costs', 'FixedCosts']]);*

      *  debug($unit); // This debug result is below*

        if ($this->request->is('post')){        *// tried adding patch &
put too, found same result*
            $unit->cost->unit_id = $unit->fixed_cost->unit_id = $unitId->id;

            *//debug($unit); // This debug is not executing*

            if ($this->Units->save($unit)){
                $this->Flash->success(__('The unit cost has been added'));
                return $this->redirect(['controller' => 'houses', 'action'
=> 'view', $unit->house_id]);
            }
        }

        $this->set(compact('unit'));
    }


*debug($unit):*

*/src/Controller/UnitsController.php* (line *53*)

object(Cake\ORM\Entity) {

        'new' => false,
        'accessible' => [
                '*' => true
        ],
        'properties' => [
                'id' => (int) 1,
                'name' => '1st Floor - Front',
                'house_id' => (int) 2,
                'billing_date' => object(Cake\I18n\Time) {

                        'time' => '2014-12-05T00:00:00+0000',
                        'timezone' => 'UTC',
                        'fixedNowTime' => false
                
                },
                'created' => object(Cake\I18n\Time) {

                        'time' => '2014-12-10T14:59:25+0000',
                        'timezone' => 'UTC',
                        'fixedNowTime' => false
                
                },
                'modified' => object(Cake\I18n\Time) {

                        'time' => '2014-12-10T14:59:25+0000',
                        'timezone' => 'UTC',
                        'fixedNowTime' => false
                
                },
                'cost' => object(Cake\ORM\Entity) {

                        'new' => true,
                        'accessible' => [
                                '*' => true
                        ],
                        'properties' => [
                                'rental_cost' => (float) 2000
                        ],
                        'dirty' => [
                                'rental_cost' => true
                        ],
                        'original' => [],
                        'virtual' => [],
                        'errors' => [],
                        'repository' => 'Costs'
                
                },
                'fixed_cost' => object(Cake\ORM\Entity) {

                        'new' => true,
                        'accessible' => [
                                '*' => true
                        ],
                        'properties' => [
                                'gas_bill' => (int) 500,
                                'water_bill' => (int) 300,
                                'service_bill' => (int) 300
                        ],
                        'dirty' => [
                                'gas_bill' => true,
                                'water_bill' => true,
                                'service_bill' => true
                        ],
                        'original' => [],
                        'virtual' => [],
                        'errors' => [],
                        'repository' => 'FixedCosts'
                
                }
        ],
        'dirty' => [
                'cost' => true,
                'fixed_cost' => true
        ],
        'original' => [],
        'virtual' => [],
        'errors' => [],
        'repository' => 'Units'

}


Thanks
Bayezid


On Sat, Dec 13, 2014 at 3:45 PM, José Lorenzo <jose....@gmail.com> wrote:
>
> Ah ok. I understand the question now. Instead of using newEntity() you
> should use patchEntity()
>
> $unitId = $this->Units->get($uId);
> $unit = $this->Units->patchEntity($unitId, 
> $this->request->data(),['associated'
> => ['Costs', 'FixedCosts']]);
>
>
> On Thursday, December 11, 2014 5:08:27 PM UTC+1, Bayezid Alam wrote:
>
>> Hi,
>>
>>
>> i have Tables :
>>
>> Units hasOne costs & hasOne fixed_costs
>>
>> i want to add data to costs and fixed_costs table using units's primary
>> key from units Controller.
>>
>> i did below things but its creating a new record at unit Table instead of
>> using primaryKey
>>
>> Form at unitsController:
>>
>> <?php
>>
>> echo $this->Form->create($unit);
>> echo $this->Form->input('cost.rental_cost');
>> echo $this->Form->input('fixed_cost.gas_bill');
>> echo $this->Form->input('fixed_cost.water_bill');
>> echo $this->Form->input('fixed_cost.service_bill');
>> echo $this->Form->button('Save Costs');
>> echo $this->Form->end();
>>
>> ?>
>>
>> Function at UnitsController:
>>
>> public function add_cost($uId){
>>         if (!$uId){
>>             throw new NotFoundException(__('Unit id Not found, try with a
>> valid ID'));
>>         }
>>
>>         $unitId = $this->Units->get($uId);
>>
>>         $unit = $this->Units->newEntity($this->request->data(),['associated'
>> => ['Costs', 'FixedCosts']]);
>>
>>         if ($this->request->is('post')){
>>             $unit->cost->unit_id = $unit->fixed_cost->unit_id =
>> $unitId->id;
>>             if ($this->Units->save($unit)){
>>                 $this->Flash->success(__('The unit cost has been added'));
>>                 return $this->redirect(['controller' => 'houses',
>> 'action' => 'view', $unit->house_id]);
>>             }
>>         }
>>
>>         $this->set(compact('unit'));
>>     }
>>
>> Please suggest me on this regard.
>>
>> Thanks
>> Bayezid
>>
>>  --
> Like Us on FaceBook https://www.facebook.com/CakePHP
> Find us on Twitter http://twitter.com/CakePHP
>
> ---
> You received this message because you are subscribed to the Google Groups
> "CakePHP" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to cake-php+unsubscr...@googlegroups.com.
> To post to this group, send email to cake-php@googlegroups.com.
> Visit this group at http://groups.google.com/group/cake-php.
> For more options, visit https://groups.google.com/d/optout.
>

-- 
Like Us on FaceBook https://www.facebook.com/CakePHP
Find us on Twitter http://twitter.com/CakePHP

--- 
You received this message because you are subscribed to the Google Groups 
"CakePHP" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to cake-php+unsubscr...@googlegroups.com.
To post to this group, send email to cake-php@googlegroups.com.
Visit this group at http://groups.google.com/group/cake-php.
For more options, visit https://groups.google.com/d/optout.

Reply via email to