我对CakePHP很陌生,无法弄清sql查询在这里的工作方式。我有一个删除按钮,可以删除关于玩家的消息。它没有做什么(它应该)还要处理存储在“fc_players”表中“news”列中的新闻数量。在一个老式的方式,我会去这样的:玩家的CakePHP sql查询
("SELECT player FROM entries WHERE id = '" . $id . "'");
(返回$名称;不能只用,因为数据库是如何建立的$ id;“项”是一个表,新闻存储)
("SELECT news FROM fc_players WHERE name = '" . $name . "'");
(返回有关某些球员很多新闻是如何在数据库中)
如果只有一个,从数据库中删除$名称:
("DELETE FROM fc_players WHERE name = '" . $name . "'");
我试图做的事: $this->FCPlayer->deleteAll(array('FCPlayer.name' => $name));
但由于某种原因,这是行不通的。
如果有更多的,简单地减少碳排放量
$news = $news - 1;
("UPDATE fc_players SET news = '" . $news . "' WHERE name = '" . $name . "'");
我可以在纯PHP处理,但蛋糕是一个有点困难,我无法找到任何有用的例子。你能帮我把它从sql查询翻译成CakePHP或引导我去解释它的文章吗?
谢谢!
编辑:
好吧,尼克和史蒂夫,谢谢你的答案。不幸的是,它不能解决我的问题。我认为处理sql查询有问题。
$this->Session->setFlash($id, 'success');
显示正确的条目ID,所以$ id很好。
但是,当我试图让球员的名字与:
$player = $this->Entry->field("player", array("id" => $id));
或
$this->Entry->id = $id;
$player = $this->Entry->field('player');
或执行查询
player = $this->Entry->query("SELECT player FROM entries WHERE id = '" . $id . "'");
结果为空。我还是设法通过做让玩家名称:
$player = $this->Entry->field('player');
,但它只是返回从最新的条目玩家的名称,而不是一个,我删除。
我只是不知道我在哪里犯错。是否有可能返回某种类型的数组或对象,setFlash无法处理?如果是这样,为什么最后一个例子工作(有点)?
您使用该蛋糕的版本? – toxicate20
它的版本:1.3.4。 – Adam