php - CakePHP - Error saving form with partial table data to database -


i have new user form in cakephp 3 gathers basic data user, such username, email, name, phone, etc. supposed saved users table, has additional data gathered in form, such if account admin, timestamp account created, etc. of these other fields have default values specified in database, such 0 false on admin field, or current_timestamp timestamp. others i'm not saving form nullable no default values.

the issue i'm having when form submitted, returns generic error the user not saved. please, try again. i've used print_r gather request data debug() $user data, , request looks good, while $user has this field required data wanted database insert default values.

what doing wrong, , why won't form submit values give , database set defaults rest?

my controller:

    public function signup() {         // set page-specific values         $this->set('cakepage', false);          if (!$this->request->session()->check('session.timestamp')) {             $this->redirect('/signup/home');         }          $user = $this->users->newentity();         if ($this->request->is('post')) {             $dob = implode("-", $this->request->data['birth_date']);             $this->request->data['birth_date'] = date('y-m-d', strtotime($dob));             $user = $this->users->patchentity($user, $this->request->data);             if ($this->users->save($user)) {                 $this->flash->success(__('the user has been saved.'));                  return $this->redirect(['action' => 'index']);             } else {                 $this->flash->error(__('the user not saved. please, try again.'));                  // debug                 print_r($this->request->data);                 echo "<br>";                 print_r($user);             }         }         $carriers = $this->users->carriers->find();         $this->set(compact('user', 'carriers'));         $this->set('_serialize', ['user']);     } 

results of print_r($this->request->data);

array ( [username] => asdf [password] => asdf [email] => asdf@gmail.com    [first_name] => asdf [last_name] => asdf [birth_date] => 2000-01-01    [profile_image] => testurl [bio] => yo [phone] => 1234567890 [carrier] => 1 ) 

results of debug($user);

object(app\model\entity\user) {      'username' => 'asdf',     'password' => '$2y$10$hhctvykgbcnmytvj3work.qqqdb50x/8nyuhbaadgecsprs5lj0kg',     'email' => 'asdf@gmail.com',     'first_name' => 'asdf',     'last_name' => 'asdf',     'birth_date' => object(cake\i18n\frozendate) {          'time' => '2000-01-01t00:00:00+00:00',         'timezone' => 'utc',         'fixednowtime' => false      },     'profile_image' => 'testurl',     'bio' => 'asdf',     'phone' => (int) 1234567890,     '[new]' => true,     '[accessible]' => [         '*' => true     ],     '[dirty]' => [         'username' => true,         'password' => true,         'email' => true,         'first_name' => true,         'last_name' => true,         'birth_date' => true,         'profile_image' => true,         'bio' => true,         'phone' => true     ],     '[original]' => [],     '[virtual]' => [],     '[errors]' => [         'private' => [             '_required' => 'this field required'         ],         'admin' => [             '_required' => 'this field required'         ],         'joined_timestamp' => [             '_required' => 'this field required'         ],         'updated_timestamp' => [             '_required' => 'this field required'         ],         'active' => [             '_required' => 'this field required'         ],         'account_status' => [             '_required' => 'this field required'         ]     ],     '[invalid]' => [],     '[repository]' => 'users'  } 


Comments

Popular posts from this blog

php - How to display all orders for a single product showing the most recent first? Woocommerce -

asp.net - How to correctly use QUERY_STRING in ISAPI rewrite? -

angularjs - How restrict admin panel using in backend laravel and admin panel on angular? -