我有一个网页,我试图根据正在浏览的页面类别创建上下文菜单。如果类别在animals上,则基于段的url将包含animal,即。http://www.mywebbie.com/livingthings/display/category/animals。要构建上下文菜单,我需要访问我的数据库表subcategory,其中包含列subcat_id、subcat_name、cat_id并选择所有cat_id对应于animals的行。我应该从Controller访问数据库(通过模型方法),然后将包含子类别名称的数组传递给View吗?或者一切都应该在View中完成,那里有加载返回子类别数组的模型方
我有产品表,其中有2个字段:价格、货币。货币字段中的可能值为1、2、3。MDL1个,美元2个,欧元3个。我必须按mdl货币的价格对我的产品进行排序。所以我有一个包含比率的数组:$v=array(1,11.38,15.8);请帮助我查询,我已经尝试过类似的操作,但我遇到了错误:$results=$this->Product->query("SELECT`id`,`price`,`currency`FROMproductsORDERBYprice*$v[currency]DESC");嗯...我会尝试通过一个例子来解释。我的table:id|price|currency__________
我的Controller中有一个自定义查询,我想实现在cakephp.org上找到的自定义查询分页,但他们的示例与我的不相似。有人可以帮我在我看来对这个结果进行分页吗:$cars=$this->Car->query("selectCar.id,Car.make,Car.model,Car.year,Car.description,CarImage.thumbnailfromcarsCarinnerjoincar_imagesCarImageonCar.default_image_id=CarImage.idwhereCar.makelike'".$category."'orderbyC
谁能优化这个mysql查询SELECTsubmittedform.*,inspectors.first_name,inspectors.last_nameFROM(SELECT`dinsp`,`departure`,`arrival`,'cabin'astypeFROMcabinetsUNIONSELECT`dinsp`,`departure`,`arrival`,'cockpit'astypeFROMcockpitsORDERBY`date_of_inspection`ASC)ASsubmittedformINNERJOINinspectorsONinspectors.id=subm
我有一个将对象插入数据库的脚本,然后我有大约20000个其他小对象要插入。所以我将其他对象保存到一个数组中,然后再保存。但是服务器说“MySQLServer已经消失”我可以通过某种方式重新连接到数据库吗?或者我可以在插入大对象后断开并收集所有小对象后重新连接吗? 最佳答案 你可以在你的模型中。$this->ModelName->getDatasource()->disconnect();//dostuff$this->ModelName->getDatasource()->connect();
问题……是否可以添加MySQL权限以仅允许根据权限选择字段?例子:用户user1只能从users表中选择/插入/删除列instance等于1(1通过PHP传递)。用户user2只能从users表中选择/插入/删除列instance等于2(1通过PHP传递)。这是背景信息:我正在创建一个应用程序,该应用程序具有用于多个站点的相同代码库。应用程序中的条件会加载不同的布局。多个站点使用相同的数据库,因为大多数信息可以在站点之间共享。在一个网站上注册的用户也必须在另一个网站上注册(这是我们想要的方式,因为这些网站是“仅限受邀者”)我想做的是让用户表:id、电子邮件、密码、实例。实例列将包含站点
在ActiveRecord(CakePHP风格)设置中,我在视频和Bins上设置了HasAndBelongsToMany关联设置:Bin可以存储对视频的n引用,并且视频可以属于n垃圾箱。我需要能够手动设置和存储视频在特定Bin中的显示顺序(以便客户可以在Bin中以特定顺序显示他的视频。)我最初的想法是在Bin中创建一个字段它按照视频ID需要出现的顺序存储一组视频ID。这是处理此问题的最有效方法吗?如果是这样,当我获得HABTM查询结果时,重新排序返回的查询以匹配排序后的ID数组的最干净/最有效的方法是什么?与Bin关联的视频作为数组返回:[Video]=>Array([0]=>Arra
我正在尝试使用CakePHP编写一个网络应用程序,并且像大多数网络应用程序一样,我想创建一个安装程序来检测数据库是否已初始化,如果没有,则执行安装过程。这个过程将是完全自动化的(它假设数据库本身已经存在,并且它通过匿名帐户被授予完全管理访问权限,没有密码......这是一个沙盒环境,所以不用担心安全问题),因此它需要能够检测(无论请求如何!)数据库表是否已创建和初始化,如果没有,则透明地执行该初始化,然后仍然满足用户的原始请求。我考虑过编写一种BootstrapController,通过它路由所有请求,并运行单个SQL查询来确定数据库表是否存在,但这看起来很麻烦(并且Controlle
我有一个CakePHP应用程序,我试图在其中计算用户拥有的每种类型的帖子的数量。我还使用分页助手在他们的个人资料中显示所有用户的帖子。我可以:1)为所有用户的帖子创建一个find('all',$conditions)请求,然后解析它以获得我需要的计数(通过逐个帖子检查它是否与我正在寻找的相匹配为)。2)进行多重find('count',$conditions)请求,分别获得我需要的所有计数。3)在创建帖子时维护用户表中的新列以跟踪这些数字(无论何时发布新帖子,这将涉及写入用户帐户)。哪个是最佳选择? 最佳答案 从数据库中获取所有记录
我正在尝试获取尚未过期的优惠券。我的Controller中有这个:publicfunctioncoupons(){$this->paginate['Coupon']=array('limit'=>9,'order'=>'RAND()','conditions'=>array('Coupon.end_date'=>??????));$c=$this->paginate('Coupon');$this->set('allcoupons',$c);}我需要它返回截至今天尚未过期的所有记录。end_date为DATE格式。我不知道如何让蛋糕查看end_date并将其与今天进行比较,并在分页方法