我有一个ajaxlink,用于删除(更新)项目:
<?php echo CHtml::ajaxLink('<img src="handig/ikoons/x_20x20px.png" width="20"/>',array("bedrijf/delete","id"=>$data->id),array(
'data' => array('Verwijderen'=> ''),
"beforeSend" => "js:function(){return confirm('Weet je zeker dat je dit item wilt verwijderen?')}",
"type"=>"post")); ?>
此链接在我的控制器中调用此函数:
public function actionDelete($id)
{
echo 'hier';
$model=$this->loadModel($id);
if(isset($_POST['Verwijderen']))
{
echo '<br>in de post '.$id;
$model->verwijderd = 1;
$model->verwijderDatum = new CDbExpression('NOW()');
if($model->save())
echo '<br>opgeslagen';
}
}
使用echo我可以看到帖子可以传递给model-&gt; save()。只有这不会发生。这是否与模型有关,或者发生在这里?
模型规则:
public function rules()
{
return array(
array ("sectorB, vProjecten, cpGebDatum, toelichting, verwijderDatum" , "safe"),
array('naam, adres, postcode, plaats, wijk, email, cpNaam, cpAchternaam, cpEmail, cpGebDatum,
rechtspositie, werkgebied, krachten, hoe'
,'required','message'=>'{attribute} is nog niet ingevuld!'),
array('email, cpEmail','email'),
array('functie, wijk, cpGeslacht, rechtsvorm, rechtspositie, verwijderd', 'numerical', 'integerOnly'=>true),
array('naam, adres, plaats, email, website, socialMedia, cpNaam, cpAchternaam, cpEmail', 'length', 'max'=>50),
array('afkorting, postcode', 'length', 'max'=>10),
array('telefoon, mobiel, cpTelefoon, cpMobiel', 'length', 'max'=>25),
array('orgDoel, orgActiviteiten, orgOnderdeel, anders', 'length', 'max'=>500),
);
}
答案 0 :(得分:0)
好的,这不是规则,而是我之前的保存功能来处理我的日期时间。有时我的日期时间是空的,但函数仍然必须返回true,所以我写了一个例子:
protected function beforeSave ()
{
if($this->cpGebDatum != ''){
list($d, $m, $y) = explode('-', $this->cpGebDatum);
$mk=mktime(0, 0, 0, $m, $d, $y);
$this->cpGebDatum = date ('Y-m-d', $mk);
return parent::beforeSave ();
}else{
return true;
}
}