Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在cakephp中编写查询的混淆_Php_Mysql_Cakephp - Fatal编程技术网

在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它不会正确运行 可能有什么问题???我

我只是对cakephp有一个简单的疑问,它可能也很愚蠢

用cakephp编写查询:-

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作为参数或条件数组提供。