出於某種原因,$this->request->data
自動轉換爲實體不起作用。我創建了一個非常基本的保存爲了測試它。CakePHP 3,非常基本的保存不工作
$users = TableRegistry::get('VendorName/Users.Users');
$this->request->data = ['username' => 'someting', 'password' => 'somethingelse'];
$user = $users->newEntity($this->request->data);
if ($users->save($user)) { }
這是產生::
INSERT INTO users (created, modified, id) VALUES (:c0, :c1, :c2)
我試着做$this->request->data
的功能,例如SQL。 $this->request->data()
我試過明確添加實體值。例如。 $user->username = 'someting';
,它在我這樣做的時候起作用。但是,當然,我不想在每一個保存功能中明確指出每個字段,那麼爲什麼$this->request->data
不會自動轉換?
這是$user
樣子
object(VendorName\Users\Model\Entity\User) {
'[new]' => true,
'[accessible]' => [],
'[dirty]' => [],
'[original]' => [],
'[virtual]' => [],
'[errors]' => [],
'[invalid]' => [],
'[repository]' => 'VendorName/Users.Users'
}
你的用戶實體是什麼樣的? – Dakota
編輯問題以添加該信息(因此它可以正確格式化) –
您是否在'UsersTable'中有驗證規則? http://book.cakephp.org/3.0/en/orm/saving-data.html#converting-request-data-into-entities – Sevvlor