我正在开发一个Cakephp 2.x ...我想从数据库中删除一条记录 我的数据库中有一个名为图像的表,其中包含以下字段。 idImage,USER_ID,文件名,文件大小,filemime
我想用idImage = imageid
删除单个记录 delete * from posts where imageid = 3'
我正在做这个..image id现在有一个值4
$this->Image->imageId = $imageId;
if($this->Image->delete()){
echo "successfull";
}else{
echo "not";
}
但代码无效。不删除db
中的记录答案 0 :(得分:4)
在Image模型上设置imageId
根本不起作用。如果模型的主键不是id
,则必须configure the model,以便Cake知道这一点并使用您选择的主键字段而不是id
。
<?php
class Image extends AppModel {
$primaryKey = 'imageId';
无论主键的值如何,设置为使用问题语法的属性是:
$this->Image->id = $imageId;
if($this->Image->delete()){
这将尝试删除具有给定$imageId
的图像。
或者只是pass it to the delete function:
if($this->Image->delete($imageId)){
如果目标是通过不是主键的值删除,请先查找它:
$id = $this->Image->field('id', array('imageId' => $imageId));
if ($id && $this->Image->delete($id)) {
...
或使用deleteAll:
// delete 1 or more records with a matching field value
$this->Image->deleteAll(array(
'imageId' => $imageId
));