我一直在为CakePHP尝试一些迁移脚本,但是我遇到了所有形式或其他形式的问题.
请告诉我关于您使用Live并了解作品的Cake的迁移选项.
我想要以下"功能":
我不需要rails样式的版本化文件一个git版本化的模式文件,它与现有模式进行实时比较.那就是:我喜欢Cake中的SchemaShell,除了它与我上面的大部分要求不兼容.
我看过并测试过:
我继承了海外老承包商的代码.我看到的cakephp版本是:
CakePHP v 0.2.9
这适合哪里?它是早于1.0还是这个2.0约定?
我正在写一个CakePHP 1.2应用程序.我有一个人员列表,我希望用户能够在不同的字段上进行过滤.对于每个可过滤的字段,我有一个下拉列表.选择过滤器组合,单击过滤器,页面仅显示匹配的记录.
在people_controller中,我有一些代码:
$first_names = $this->Person->find('list', array(
'fields'=>'first_name',
'order'=>'Person.first_name ASC',
'conditions'=> array('Person.status'=>'1')
));
$this->set('first_names', $first_names);
Run Code Online (Sandbox Code Playgroud)
(状态= 1,因为我使用的是软删除.)
这将创建所有first_names的有序列表.但重复是在那里.
在Cookbook中,我找到了一个使用DISTINCT关键字并修改我的代码来使用它的示例.
$first_names = $this->Person->find('list', array(
'fields'=>'DISTINCT first_name',
'order'=>'Person.first_name ASC',
'conditions'=> array('Person.status'=>'1')
));
Run Code Online (Sandbox Code Playgroud)
这给了我一个像这样的SQL错误:
Query: SELECT `Person`.`id`, DISTINCT `Person`.` first_name` FROM `people` AS `Person` WHERE `Person`.`status` = 1 ORDER BY `Person`.`first_name` ASC
Run Code Online (Sandbox Code Playgroud)
问题很明显.该框架将Person.id添加到查询中.我怀疑这来自使用'list'.
单击过滤器按钮时,我将使用选定的过滤器创建SQL语句.我不需要is字段,但无法摆脱它.
谢谢Frank Luke
是否有一个Controller属性,允许我/controller/action
从URL中获取而不需要任何其他参数?
目前我不得不加入$this->name . '/' . $this->action
.
CakePHP版本1.2.5
我希望单个用户拥有多个电子邮件地址.
我希望单个用户拥有一个密码.
我希望用户使用他们的多个电子邮件地址和他们的单个密码登录.
我创建了一个带有id和密码字段的用户表.
我创建了一个user_email_addresses表,其id字段是user_id字段和email_address字段.
问题:
如何最小化修改auth组件以查找user_email_addresses表中的"username""email_address"和users表中的"password"?
似乎修改auth组件中的identify方法可能会这样做.但我认为直接修改auth组件是一个坏主意 - 关于如何扩展并仍然可能修改标识方法的任何想法?http://cakebaker.42dh.com/2009/09/08/extending-cakephps-core-components/或可能提名不同的身份验证对象?
第774行:
function identify($user = null, $conditions = null) {
if ($conditions === false) {
$conditions = null;
} elseif (is_array($conditions)) {
$conditions = array_merge((array)$this->userScope, $conditions);
} else {
$conditions = $this->userScope;
}
if (empty($user)) {
$user = $this->user();
if (empty($user)) {
return null;
}
} elseif (is_object($user) && is_a($user, 'Model')) {
if (!$user->exists()) {
return null;
}
$user = $user->read();
$user = $user[$this->userModel];
} elseif (is_array($user) && …
Run Code Online (Sandbox Code Playgroud) 我需要在现有站点中实现主/从/负载平衡.
有没有人使用这些(或其他)实现进行主/从切换?
我找到的关于如何在Cake中实现主/从的资源:
我大部分时间都在工作,但是在某些连接方面有问题.
我欢迎主/从实现的新来源,黑客或mods,因为现在我无法理解它.
(我使用atm的蛋糕版本是1.2)(我在CakePHP的谷歌小组http://groups.google.co.uk/group/cake-php/browse_thread/thread/4b77af429759e08f上交叉发布)
implementation cakephp load-balancing master-slave cakephp-1.2
如何限制cakephp中的paginate?
假设我有400条记录.
我需要从第50条记录到第75条记录中只获得25条记录,并且每页需要显示5条记录.
我怎么能在分页中做到这一点?
示例代码:
$this->paginate = array(
'contain'=>array('User'),
'recursive' => 2,
'order' => array('Profile.winning' => 'DESC'),
'limit' =>5
);
Run Code Online (Sandbox Code Playgroud) 我有一个旧的cakephp-1.2应用程序正在生产中.该系统有一个屏幕,可以使用ckeditor 3.2编辑html内容.问题是,几乎每当我尝试编辑一些我在提交表单时注销的html内容时,内容就不会在发生时保存.
有趣的是我去编辑一些html内容并且在ckeditor中根本不做任何更改然后点击提交有时候我退出了有时它按预期工作.
我正在使用CakePHP 1.2,我只是想知道将$ this->数据传递给Controller的View是否有任何副作用.
例如:
// inside PostsController, I have this code:
$this->data['Posts'] = $this->Post->find('all');
Run Code Online (Sandbox Code Playgroud)
代替 :
$posts = $this->Post->find('all');
$this->set(compact('posts'));
// inside the /posts/view, I access it like this:
<?php foreach ($this->data['Posts'] as $post) {....};?>
Run Code Online (Sandbox Code Playgroud)
通过这样做,我一起跳过控制器中的$ this-> set().这是否违反了我可能忽略的任何MVC模式或任何安全问题?我看到使用Auth组件,$ this-> data包含[_Token]数组.
谢谢
在Rails和CakePHP1.2中,表单往往包含名称如下的输入元素:
<input name="comment[author]" />
Run Code Online (Sandbox Code Playgroud)
"name"属性中使用的符号是否有正式名称?
同样,在CakePHP1.1中我确实认为同样的看起来像这样:
<input name="comment/author" />
Run Code Online (Sandbox Code Playgroud)
同样,"name"属性中使用的符号是否有正式名称?
cakephp ×10
cakephp-1.2 ×10
cakephp-1.3 ×1
ckeditor ×1
database ×1
distinct ×1
find ×1
master-slave ×1
migration ×1
php ×1
theory ×1