草庐IT

cakephp-bake

全部标签

php - CakePHP 查询调用 COUNT() 两次,原因不明

注意:我最初是在一个小时前问这个问题的,但直到最近才意识到我犯了一个重大的复制和粘贴错误。一个如此重要以至于删除旧帖子并重新开始更容易。对此感到抱歉。在CakePHP框架中,更新模型后,我转储了SQL查询。COUNT(*)被调用两次,原因不明。所以我有两个模型,$Foo和$Bar。为了简单起见,我没有定义它们之间的任何$belongsTo或$hasMany关系。该问题仅涉及$Foo,但以防万一我也包含了$Bar的代码。$data=array('something'=>12,'something_else'=>$this->Bar->field('id',$conditions),);$

php - CakePHP:创建新的 HABTM 行而不是更新其他行

我有两个具有HABTM(拥有并属于许多)关系的模型:Qsets和Questions。以下操作(在QsetsController.php中)应该会在qsets_questions表中产生一个新行,新问题出现在新的qset中。但它更新现有行,导致该问题开始从以前的qset中获取并添加到新的qset中。我做错了什么?publicfunctionadmin_add_question($qset_id,$question_id){//findtheqset...$qset=$this->Qset->find('first',array('id'=>$qset_id));$this->Qset->

php - 从 cakephp 查询中获取平面数组

我正在使用cakephp运行查询,该查询由自定义派生字段以及表中的一些字段组成。Cake将表中的结果返回到它自己的数组中,将其他结果返回到数组键0中-本质上是拆分我的结果,然后我必须将结果合并在一起。我知道我可以使用虚拟字段将派生字段放入主数组中,但是它们非常自定义并且可以更改很多,因此不适合将这些字段作为虚拟字段。我想要的是某种选项,这样cakephp就可以将所有内容返回到数组的0键中。类似于$this->Model->find('all',$options,RTN_FLAT_ARRAY)这样的事情已经成为可能了吗? 最佳答案 这

mysql - 如何在 CakePHP 中生成 MySQL IS NOT NULL 条件?

我正在尝试将结果的子集作为virtualField在我的View中使用。我什至可能离我如何处理这个问题还有很远的距离,但这是我到目前为止所做的:我从这个问题开始:CakePHPvirtualFieldfindallnotnull这导致thislittlebeauty.现在我遇到一个问题,即find语句将(Array)传递到MySQL。我的代码如下:classTransactionextendsAppModel{publicfunction__construct($id=false,$table=null,$ds=null){parent::__construct($id,$table,

mysql - 数据库索引 cakePHP

我有两个表,即“客户”和“事件”。两者的关系如下:事件var$belongsTo=array(...'Customer'=>array('className'=>'Customer','foreignKey'=>'customer_id'));客户var$hasMany=array('Event'=>array('className'=>'Event','foreignKey'=>'customer_id','dependent'=>false,));每条客户记录都包含一个公司ID以及当前登录的用户。我想要实现的是获取一天的所有事件,仅与特定公司相关,但这当然行不通,因为事件表不包含公

php - Cakephp3,如何在cakephp3中使用where子句和inner join?

我正在尝试从产品表中获取评论表。并且我添加了列名称“delete_yn”,这意味着评论是否被删除。我在下面使用了一些蛋糕查询return$this->Product->find()->contain(['ProductReview','Users'])->where(['Product.product_code'=>$productCode])->toArray();结果就是这么好。但是,现在我想检查评论是否被用户删除并在“del_yn”列中仅显示“n”我添加了这个查询->andWhere(['Product.ProductReview.del_yn'=>'n'])在where子句之后

php - CakePHP 单元测试只工作一次,然后我必须重置数据库

我正在尝试让我的团队开始为我们的应用程序进行一些单元测试。该应用程序基于CakePHP构建。首先,我正在为我们的用户表构建测试。我有以下Fixture来创建一个用户供我测试:namespaceApp\Test\Fixture;useCake\TestSuite\Fixture\TestFixture;classUsersFixtureextendsTestFixture{public$connection='test';public$import=['table'=>'users'];public$records=[['username'=>'TestPass','password'=

php - 如何使用 OR 条件从 cakephp 3.0 中的 mysql 表中获取记录?

我想从表中获取名称以a、b或c开头但在cakephp3.0中状态为待定的记录。我正在尝试以下查询。请检查它有什么问题,因为它也在获取以名称“s”开头的结果:$this->loadModel('DbArtists');/***fetchingrecordsalphabetically***/$artists_q=$this->DbArtists->find()->where(['album_status'=>'pending'])->orWhere(['name'=>'A%','name'=>'B%','name'=>'C%']);$artist=$artists_q->all();ec

php - CakePHP 正在将 MySQL 整数转换为字符串……搞乱了 rand() 函数

我想使用CakePHP从我的数据库中随机获取数据样本。这是我的功能:functioncategories_list(){$this->paginate['limit']=6;$this->paginate['order']='';$this->paginate['conditions']='';//SortRandomlyStartif($this->Session->check('Category.randomSeed')){$seed=$this->Session->read('Category.randomSeed');}else{$seed=mt_rand();$this->S

mysql - Cakephp - 从 Action 内部连接到不同的数据库/主机

在cakephp中,我希望能够通过站点上的一个操作连接到不同的数据库。该操作确定要连接到哪个数据库和主机。使用cakephp1.3。我看到您可以在beforeFilter中更改Controller的数据库连接,但我希望能够从操作中处理这个问题,因为这是我找到需要连接的数据库和/或主机的地方。我可以在其中编写自己的SQL。我不需要通过模型。只想做一个简单的添加/更新SQL语句。 最佳答案 您可以轻松地configuremorethanonedatabaseconnection在您的应用中使用。在config/database.php中