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
Post a Comment