假设我有一个User模型,他hasMany Items (当然还有Item belongsTo User )
每次修改Item时,我的applicationI中的任何地方都希望向其用户(或其用户)发送一封电子邮件
因此,在我的项目模型中,我写了如下内容
public function beforeSave($options = array())
{
// if data is modified find User and send him email
}
但是,当我在操作中同时编辑多个项目时(即在foreach循环中),则会发送几封电子邮件,但我只想要一封电子邮件,或者为参与更新的每个
我让你遵循简单的模式:
项目belongsTo CatalogItem
CatalogItem hasMany项目和belongsTo部分
hasMany CatalogItem节
我试图为某一节获取按目录项分组的项目的计数--相当于:
SELECT catalogitem.id, count(*) FROM section LEFT JOIN catalogitem ON section.id=catalogitem.section_id LEFT JOIN item ON item.catalogitem_id=catalogitem.id WHERE sect
我有一些控制器,它使用相同的代码思想,只是调用模型不同。
例:
在簿记员中:
public function abc(){ $this->Book->find(....); }
在类别控制器中:
public function abc(){ $this->Category->find(....); }
我觉得太浪费了。所以,请教我如何只写一个函数,但它可以调用任何控制器并加载相同的模型。
非常感谢:)
我注意到重定向控制器方法部分时间不起作用。当我设置调试> 0时,不会出现任何消息。在调用重定向方法之前,我不会回显任何代码,所以不应该是因为“已发送的标头”。
让我们看一看我的ArticlesController添加操作,其中重定向在一个实例中工作,而在另一个实例中不起作用。
public function add($page = null) {
// Custom component to get if user has required access level
// of page to write an article. If not, setflash to a
我正在尝试使用在脚本中动画三维模型。但是,我很难理解verold组件的corret用法。
我有一个模型加载到我的场景,并附加了一个脚本作为该模型的属性。我也有一个关键帧动画属性,这是设置为不自动播放。
我在这里的目标是能够启动一个特定的动画,当用户点击一个按钮。当我使用以下代码时,我可以看到模型对象
PlayAnimation.prototype.init = function() {
// this.veroldEntity is available here but the Three.JS data isn't loaded yet
cObject = this.veroldEn
我得到的实际错误是:
语法错误或访问冲突: 1064您的SQL语法出现了错误;请检查与您的MySQL服务器版本对应的手册,以便在第1行的“子版本”附近使用正确的语法。
它把我逼疯了,甚至都想象不出它为什么会被养大。
在我的控制器CategoryController.php中有:
public function index($id = null) {
$this->set('categories', $this->Category->children($id, true));
在Category.php模型中
public $actsAs = a
在我的模型回调函数afterFind中,我试图找到一种从控制器获取参数的方法,根据该参数,我可以过滤结果并返回我想要的结果。
public function afterFind($results, $primary = false) {
$lang = $parameter; // I try to get the parameter here
$text_type = "text_eng";
if($lang == 'fra')
$text_type = "text_fra";
foreach (
我只是在学习CakePHP,所以失陪了
我正在使用带有UsersController的CakePHP 1.2.5身份验证组件。用户模型包含两个表:
class User extends AppModel {
var $name = 'User';
var $belongsTo = 'Company';
}
当调用login()时,我在SQL日志中看到检索到的数据(正在执行左连接),因此模型看起来是正确的,但Auth只存储users表中的数据,并删除其他所有数据。如何在以后不执行额外查询的情况下检索公司数据?
我开始创建一个表单,在我的数据库中创建用户/密码记录。我意识到正在创建的密码不是自动加密的,所以我从互联网上抓取了一些示例代码,以便在创建用户记录时加密我的密码。
问题是我的用户仍然无法登录。
下面是用户模型,代码应该用于sha256密码(在创建用户记录时)
public function beforeSave($options = array()) {
if (!empty($this->data['User']['password'])) {
$passwordHasher = new SimplePasswordHasher(
我正在从Cake 1.3升级到最新的Cake 2。
我过去常常从App组件访问用户模型,如下所示:
$this->Auth->userModel->
然而,这个字段已经不存在了。
有没有别的选择?
我也试过了
App::uses('User', 'Model');
$user = new User();
但是我得到了一个错误
Class 'AppModel' not found
有没有其他方法可以访问用户模型?
这可能很容易做到,但我现在似乎不能理解它。假设在cakephp应用程序的组件中,我有一个变量my_model,它包含当前使用该组件的相应控制器的模型,如下所示:
function TestComponent extend Object
{
var $my_model; // can be either User, or Person
function test()
{
$myModelTemp = $this->my_model;
$model = $myModelTemp != 'User' ? $myMod