草庐IT

php - 在数据源默认值中找不到模型的 cakephp 表

我的数据库中只有一个名为“ficha_seg”的表。我的模型文件的名称是“Ficha.php”,Controller的名称是“FichasController.php”。所以,为什么我会收到错误:Error:TablefichasformodelFichawasnotfoundindatasourcedefault.像这样配置我的Controller的index()方法后:publicfunctionindex(){$this->set('ficha_seg',$this->Ficha->find('all'));} 最佳答案 默认

php - 按 slug 查询还是按 id 查询?

通常,当我制作需要URL中的slug的应用程序时,我会通过数据库中的slug进行查询以获取内容(当然,在slug字段上有一个索引)。使用典型的LAMP堆栈(使用PHP和MySQL),从数据库的角度来看这样做的优点或缺点是什么?始终按id查询并简单地为slug创建某种排序或路由是否更有意义?此应用程序设计会带来任何安全问题吗?我正在使用cakePHP,特别是,所以如果有任何特定于蛋糕的答案,我们将不胜感激,但不是必需的。 最佳答案 如果您绝对肯定slug不会改变,则可以使用它。但是数字可能更快更安全(这是肯定的)。我刚刚在具有1000

php - CakePHP 3 - 从用户正在关注的用户加载帖子

尝试以“Cakey”方式加载用户正在关注的用户的所有帖子。三个表:用户(id、用户名、密码)posts(id,text,user_id,created)关注(id、user_id、following_id)我认为我的关系设置正确,所以我可以加载用户关注者和关注他们的人:用户表$this->belongsToMany('Following',['className'=>'Users','foreignKey'=>'user_id','targetForeignKey'=>'following_id','joinTable'=>'follows']);$this->belongsToMan

php - 检查数据库中是否存在记录的方法,如果为真则在CakePHP中返回记录?

我是CakePHP的新开发人员,我对这种情况感到困惑:现在我有一个用户模型用户表,我想检查id=4的记录是否存在:如果记录存在,则返回它,如果不存在则返回消息错误,我认为有2种方法:解决方案1:$this->Model->id=4;if($this->Model->exists()){return$this->Model->read();}else{return"ERROR";}解决方案2:$data=$this->Model->find('first',array('conditions'=>array('Model.id'=>4)));if(!empty($data)){retur

php - 无法通过 CakePHP 表单更新数据库中的数据

我写了一个编辑函数来更新新闻信息,我的代码:这是Controller文件函数:publicfunctioneditnews($id){$this->layout="news";//tynemccallbythisstatement$this->loadModel('News');//modelcall$this->loadModel('Category');//loadnewscategoryif($this->request->is('post')){if(move_uploaded_file($this->request->data['News']['image_url']['tm

php - 如何为嵌套关系构建适当的 CakePHP 查询

我是CakePHP的新手,我正在尝试为结果构建复杂的查询。这太痛苦了。也许有人可以帮我解决这个问题。我用的是cake2.7我有两个具有3个关系(多对多)的表。邻域和多边形。案例看起来像这样Neighbourhood有许多Neighbourhoods并且它也属于许多Neighbourhoods。此外,Neighbourhood有许多Polygons并且Polygon属于许多Neighbourhoods。Neighbourhood表包含2个字段name和zip。我从用户那里得到的是zipcode。现在我想要的是:我想从Neighbourhood获取所有Polygons,它是Neighbou

php - 找到离给定地址最近的位置

我在CakePHP中构建了一个列出企业的应用程序。大约有2000个条目,每个业务的经纬度坐标都在数据库中。我现在正在尝试解决搜索功能。将有一个输入框,用户可以在其中输入街道地址、城市或邮政编码,然后我希望它返回从数据库中找到的11个最近的企业。我该怎么做? 最佳答案 我使用YahooGeoPlanetAPI识别与用户输入的搜索词相对应的地点。这通常会匹配多个地点,因此您必须将它们呈现给用户,让他们选择正确的地点。然后,一旦您知道了正确的位置,并且它是YahooAPI提供的经纬度,您就可以使用haversineformula获得离用户

php - 大文件解析导入 PHP MySQL

我有一个很大的csv文件(大约700MB),我正试图将其解析并插入到MySQL数据库中。我逐行读取csv(大约4x10^6行)并解析要插入的记录。然后我将记录分批插入数据库,每批约10k条记录。解析过程中有一些事情,例如使用preg_match将格式11d12:34:56的持续时间转换为小时数。preg_match('/(?P\d+)d(?P\d+)?P\d+)?P\d+)/',$hoursUsed,$matches);脚本需要大约40分钟才能完全解析文件并将所有记录插入数据库。我在这里的问题是:*预计时间应该是多少?请问40分钟正常吗?*csv文件的解析可以是我正在用PHP解析一个大

php - 如何在 CakePHP 查找查询中正确嵌套自定义字段?

我们经常处理如下代码:return$this->find('all',['fields'=>['DISTINCTTag.tag','COUNT(Tag.tag)ascount'],'group'=>['Tag.tag'],'order'=>['count'=>'DESC']]);这个查询引导我们得到以下输出:[0]=>Array([Tag]=>Array([tag]=>walls.io)[0]=>Array([count]=>15))如您所见,查询以“某种程度上错误”的嵌套形式返回结果。不幸的是,“计数”字段被放入伪[0]数组中。IIRC,CakePHP在内部使用类似Tag__fiel

mysql - CakePHP 2 复合主键

假设我有一个名为positions的表,我在其中保存每台计算机、显示器或打印机的坐标。+-----------------+|key|type|id|+-----------------+|1|PC|1||2|PC|2||3|MO|1|+-----------------+在这种情况下,type和id是主键。我读到Cakedoesn'tsupportcompositeprimarykeys并建议为此使用直接查询。真的没有解决方法吗?将PC的坐标直接保存在PC表中还是保存在专门用于PC位置的表中更好?这很难下咽。 最佳答案 版本3之前