2017-04-20 50 views
0

我的add.ctp表單返回「錯誤:SQLSTATE [HY000]:一般錯誤:1364字段'標題'沒有默認值」。我不知道爲什麼,一切都似乎寫得很對。我輸入標題,但不會將它保存到數據庫中。CakePHP - 錯誤:SQLSTATE [HY000]:一般錯誤:1364字段'標題'

AlbumsController.php

class AlbumsController extends AppController {   
    public function add() {    
     if($this->request->is('post')) {     
      $this->Album->create(); 
      $this->Album->save('$this->request->data');     
     }    
    }   
} 

add.ctp

<?php 
echo $this->Form->create('Album', array('type' => 'file')); 
echo "<br>"; 
echo $this->Form->input('created', array('label' => '', 'separator' => ' ', 'timeFormat' => '24')); 
echo "<br>"; 
echo $this->Form->input('title', array('label' => 'Naslov albuma<br>')); 
echo "<br><br>"; 
echo $this->Form->end('Create album'); 
?> 

MySQL的 structure table

回答

2

,你需要改變這一行:

$this->Album->save('$this->request->data'); 

,並刪除單引號,你不需要它:

$this->Album->save($this->request->data); 

然而

- 作爲一個側面說明 - ,以從你的mysql中爲你的標題字段設置一個默認的NULL值,你可以更新你的表格結構,如下所示,使標題字段接受空值:

ALTER TABLE `tableName` CHANGE `title` `title` varchar(200) NULL DEFAULT NULL; 
+0

哦,謝謝..愚蠢的我。 –

+0

是的,我不需要它null,我需要標題。謝了哥們 –

相關問題