标签: cakephp-model

加载模型或$ uses需要使用的数组?而我们访问其他模型

我有一个用户控制器,我需要在那些users_controllers上使用照片模型,我可以使用它从以下访问该模型,哪些是标准使用?

$this->loadModel('Photo');
Run Code Online (Sandbox Code Playgroud)

要么

var $uses =array('User','Photo');
Run Code Online (Sandbox Code Playgroud)

加载模型或$ uses需要使用的数组?

cakephp cakephp-1.3 cakephp-model

3
推荐指数
1
解决办法
3143
查看次数

CakePHP模型可以更改其表而无需重新实例化吗?

我正在使用一个不可更改的遗留数据库模式,其中一个对象的每个实例在数据库中都有自己的表,并带有相关记录.我需要在useTable每次实例化模型时更改模型,但保留Cake的漂亮缓存,什么不是.

假设我有很多pad对象,每个对象都有几个音符对象(注意belongsTo Pad,Pad hasMany Note).每个打击垫在打击垫表中都有一个记录,但每个记事本在数据库中都有自己的表(称为"pad_ {id}").这个架构是固定的,我必须使用它.

现在我不需要做任何保存,所以我在模型中执行此操作之后才发现支持阅读:

function beforeFind($query_data) {
    if(empty($query_data['pad_id'])) {
        return false;
    } else {
        $this->useTable = $query_data['pad_id'];
        parent::__construct();
        return $query_data;
    }

}
Run Code Online (Sandbox Code Playgroud)

这会更改数据库中使用的模型表,并且可以正常工作Core::debug > 0.但是,当它为零时,我认为CakePHP缓存模型代码并且没有正确地更改表.在任何情况下,当我访问/ pads/view/{pad_id}或动态更改此表的任何操作时,我都会收到404错误.我无法弄清楚确切的错误是什么,因为它在我打开调试时工作正常.因此,任何关于调试此问题的指示也会有所帮助.

谢谢!

php cakephp cakephp-model

2
推荐指数
1
解决办法
2078
查看次数

在CakePHP中导入控制器或模型更好吗?

在CakePHP应用程序中,导入能够访问模型或模型本身的控制器是否更好?

php cakephp cakephp-model

2
推荐指数
1
解决办法
175
查看次数

cakephp模型关联/加入同一个表

我有一张包含父母和孩子的桌子.我希望能够构建模型,以便它返回父母和他们的孩子,即它与自己联系.

ID Name ParentID
1  Parent  0
2  Child1  1
3  Child2  1
4  Parent2 0
5  Child3  4
Run Code Online (Sandbox Code Playgroud)

我使用以下SQL

SELECT
 grp2.id,
 grp2.name
FROM wp_bp_groups grp1
LEFT JOIN wp_bp_groups grp2
 ON grp2.parent_id = grp1.id
WHERE grp1.id = '$parent_id'
ORDER BY grp2.name
Run Code Online (Sandbox Code Playgroud)

php cakephp cakephp-model

2
推荐指数
1
解决办法
3109
查看次数

MVC模型,它们用于什么?

现在是时候了解MVC了,所以这就是我想要做的事情; 而且我无法获得模型应该做的事情.根据维基百科,一个模型:

该模型管理应用程序域的行为和数据,响应有关其状态的信息请求(通常来自视图),并响应指令以更改状态(通常来自控制器).在事件驱动的系统中,模型在信息发生变化时通知观察者(通常是视图),以便他们能够做出反应.

在CakePHP中,你应该以这种非常简单的方式建立一个模型:

<?php

class Posts extends AppModel {
    var $name = 'Posts';
}

?>
Run Code Online (Sandbox Code Playgroud)

所以,如果我想要,例如,我的数据库中的最后10个帖子,我会创建一个看起来像这样的控制器:

<?php

class PostsController {
    function retrieve_latest($number = 10) {
        $posts = $this->Users->find(array(
                'fields' => '*',
                'order' => 'posts.post_id DESC',
                'limit' => $number,
                'page' => '1',
                'conditions' => array('posts.post_display == 1')
        ));

        $this->set('posts', $posts);
    }
}

?>
Run Code Online (Sandbox Code Playgroud)

而这个人会传递一个调用posts我视图的变量,然后相应地渲染它.问题是,我的模型不应该做任何其他事情吗?因为如果它简单,那么自定义模型就没有意义了,我的意思是,它只是模型类的空扩展.

php cakephp cakephp-model

2
推荐指数
1
解决办法
106
查看次数

CakePHP自行加入HABTM表而不破坏Cake的自动化

我有一张运动员的表.运动员有教练,他们也是运动员.运动员可能有多名教练.

为了解决这个问题,我创建了一个运动员表,它使用带有id字段的连接表,athlete_id字段和coach_id字段.athlete_id和coach_id字段都指向运动员表到id字段.

通常,根据Cake约定,我必须将我的两个字段命名为athlete_id,但我找到了以下链接,说明如何处理:http: //book.cakephp.org/1.2/view/851/Multiple-关系到最相同的模型

根据Cake约定,我会将我的联名表命名为athlete_athletes,但我不确定它是否能正常运行?将它称为Athle_coaches似乎有意义,但我敢打赌,这可能会打破Cake的自动功能.

这是否可以将join表称为athlete_athletes?这是正确的方法吗?有没有更好的办法?

php cakephp has-and-belongs-to-many cakephp-model

2
推荐指数
1
解决办法
2047
查看次数

使用cakephp获取名称以显示在下拉列表中

我想在下拉列表中显示所有项目负责人的姓名.

项目负责人只是在公司工作的一些员工.

这是我的表格:

project_leaders
,----,----------------,
| id | hr_employee_id |
|----|----------------|
| 1  |  18            |
'----'----------------'

projects
,----,------,-------------------,
| id | name | project_leader_id |
|----|------|-------------------|
| 1  | cake |         1         |
'----'------'-------------------'

hr_employees
,----,------,---------,
| id | name | surname |
|----|------|---------|
| 18 | joe  | dirt    |
'----'------'---------'
Run Code Online (Sandbox Code Playgroud)

我的ProjectsController看起来像这样:

public function add() {
    if ($this->request->is('post')) {
        $this->Project->create();
        if ($this->Project->save($this->request->data)) {
            $this->_sendProjectRequestEmail($this->Project->getLastInsertID() );
            $this->Session->setFlash(__('The project has been saved'));
            $this->redirect(array('action' => 'index'));
        } else {
            $this->Session->setFlash(__('The project …
Run Code Online (Sandbox Code Playgroud)

php cakephp cakephp-2.2 cakephp-model

2
推荐指数
1
解决办法
4810
查看次数

替换 Cakephp3 中的 AppModel

我想在 CakePHP3 中为两个模型实现一个 autoslug 函数,并使用 -callbackbeforeSave来处理那些工作正常的模型。但是 slug 结构与 in 有点不同Inflector::slug,所以我为不同的结构编写了一个小函数,最终引出了我的问题

在 Cake2 中,我会将这个辅助函数放在不再存在的 AppModel 中。现在最好的方法是什么?一种行为(对于 2 行代码来说似乎有点大)class AppTable extends Table或 ..?

cakephp cakephp-model cakephp-3.0

2
推荐指数
1
解决办法
1875
查看次数

在CakePHP中运行与控制器无关的查询

我有一个模拟Job的Jobs for Jobs.

当我点击/ jobs(作业控制器的索引功能)时,我需要在其他2个表(未加入Job)上运行查询,以查找在实际显示索引之前手动插入作业的值.

我尝试了几件事但似乎无法在此方面取得任何进展.

谁能帮我这个?

1)从客户和包的连接中选择字段(复杂条件)2)遍历结果并在作业中插入/更新值3)显示作业

先感谢您.

Manikandan

cakephp cakephp-1.3 cakephp-model

1
推荐指数
1
解决办法
689
查看次数

CakePHP和MVC

所以我刚刚安装了CakePHP,我非常高兴能够使用它.

然而,MVC模型是吹嘘我的心灵.我查看了文档并给我留下了非常深刻的印象,但对于该怎么做却完全不知所措.

教程和文档显示了创建反映数据库交互等的应用程序,但我现在想要做的就是创建一个简单的索引页面.我已经编写了它(html,一些样式表和基本的javascript),但我想将其转换为适合CakePHP模型.

有没有人知道开始翻译页面以适应CakePHP模型的好教程?另外,我想开始将我的思维方式转换为MVC模型.

php cakephp cakephp-model

1
推荐指数
1
解决办法
2441
查看次数