在cakephp中编写查询的混淆
我只是对cakephp有一个简单的疑问,它可能也很愚蠢 用cakephp编写查询:-在cakephp中编写查询的混淆,php,mysql,cakephp,Php,Mysql,Cakephp,我只是对cakephp有一个简单的疑问,它可能也很愚蠢 用cakephp编写查询:- 1.$output1 = $this->Modelname->query("Select * from tablename"); 2.$output2 = $this->Modelname->query("Update tablename set ....."); 当我执行第一个查询时,即$output1。它运行得很好。 但是我运行$output2它不会正确运行 可能有什么问题???我
1.$output1 = $this->Modelname->query("Select * from tablename");
2.$output2 = $this->Modelname->query("Update tablename set .....");
当我执行第一个查询时,即$output1。它运行得很好。
但是我运行$output2它不会正确运行
可能有什么问题???我建议您使用来查询数据库 这样,即使您有相关的模型,它也会更加安全,事情也会变得更加容易 一开始学习可能需要一段时间,但你很快就会意识到它的好处 您的第一个查询相当于:
$this->Modelname->find("all");
而你的第二个目标是:
// Update: id is set to a numerical value
$this->Modelname->id = 2;
$this->Modelname->save($this->request->data);
我建议您使用来查询数据库 这样,即使您有相关的模型,它也会更加安全,事情也会变得更加容易 一开始学习可能需要一段时间,但你很快就会意识到它的好处 您的第一个查询相当于:
$this->Modelname->find("all");
而你的第二个目标是:
// Update: id is set to a numerical value
$this->Modelname->id = 2;
$this->Modelname->save($this->request->data);
这不是一个简单的问题。您通常不必使用query(),始终尝试使用find()/save()等,如文档所述:“它无法正确运行”。。。。??这里必须更具体一点——同样,我们不可能在您的查询结束时猜测——请提供。这不是CakePHP。您通常不必使用query(),始终尝试使用find()/save()等,如文档所述:“它无法正确运行”。。。。??这里必须更具体一点——同样,我们不可能在您的查询结束时猜测——请提供。这绝对是CakePHP实现这一点的方法。第二个例子可以更简单;如果
$this->request->data
包含ID,则只需要Model->save(…)
是的,按照惯例,模型名称的ID通常作为表单中的隐藏元素提供,因此您可以直接将post数据传递给save方法。设置model->id对于model::saveField或model::field这样的东西更有用
甚至$this->ModelName->read()
使用这些作为一种简写方式,因为如果您没有在模型上设置id,对于一个saveField,它是必需的,对于其他的,您必须将id作为参数或条件数组提供。这绝对是CakePHP中的方法。第二个例子可以更简单;如果$this->request->data
包含ID,则只需要Model->save(…)
是的,按照惯例,模型名称的ID通常作为表单中的隐藏元素提供,因此您可以直接将post数据传递给save方法。设置model->id对于model::saveField或model::field这样的东西更有用
甚至$this->ModelName->read()
使用这些作为一种简写方式,因为如果您没有在模型上设置id,对于其中一个,saveField,它是必需的,对于其他,您必须将id作为参数或条件数组提供。