我在我的函数Event模型叫做getEvents-你可以通过限制,start以及end日期fields,event types和事件subtypes.
我看,paginate能接受我使用喜欢的所有参数joins,conditions,limit...等等就像一个正常find即可.
当我不尝试分页时,它返回数据就好了.但是 - 我希望能够传递一个paginate变量来告诉它而不是这样做:
$this->recursive = -1;
$data = $this->find('all', $qOptions);
Run Code Online (Sandbox Code Playgroud)
去做这个:
$this->recursive = -1;
$data = $this->paginate($qOptions);
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试时,它给了我很多错误.如果需要,我可以稍后指定错误 - 现在,我想我正在寻找 - 这是可以做到的吗?如果是这样,怎么样?
有没有更好的方法来做这样的事情?我花了足够的时间让这个功能做我想要的,并允许所有选项传递...等 - 如果我不能用它进行分页,这似乎是浪费.但是 - 如果它不理想,我也能听到.提前致谢.
编辑:
我正在网上阅读其他内容,说你不应该在你的模型中使用paginate,因为它是从URL变量中提取的,这会破坏MVC结构的目的.这是有道理的,但这是否意味着我必须在模型和控制器中编写相同的连接/查询?在每一个需要的行动中?
问题描述: 我正在创建一个可滚动的文章列表,其中包含由我的SQLite数据库填充的缩略图.一般来说,除了缓慢之外,它"工作":
图像加载非常缓慢...我想使用" 通用图像加载器 "缓存了设备上的图像,如果你已经查看它们(或者至少接近那个图像),它们会使它们看起来只是滚动到视图中).但是 - 当您向上/向下拖动时,没有任何图像存在,然后3-5秒后,图像开始弹出(好像它正在重新下载它们)
我正在改变动态缩略图框的可见性,但这样做完美无瑕 - 它们似乎没有改变 - 它们只是滚动到视图中,没有闪烁或任何东西.(但随后图像不再出现几秒钟).
我已经通过在滚动后删除我的PHP脚本进行测试...当我滚动回到prev spot时,图像没有显示 - 让我认为它是从我的PHP脚本每次加载.
但根据文档: "UsingFreqLimitedMemoryCache(超出缓存大小限制时删除最不常用的位图) - 默认情况下使用"
细节:
在我的ArticleEntryAdapter.js身上:
@Override
public View getView(final int position, final View convertView, final ViewGroup parent) {
// We need to get the best view (re-used if possible) and then
// retrieve its corresponding ViewHolder, which optimizes lookup efficiency
final View view = getWorkingView(convertView);
final ViewHolder viewHolder = getViewHolder(view);
final Article article = getItem(position);
// Set the title …Run Code Online (Sandbox Code Playgroud) 我现在遇到的一大瓶颈是每次有人下订单时生成PDF.对于单个订单来说这不是什么大问题,但是如果在很短的时间内有很多,那么这个过程非常缓慢.
PDF需要文本信息,QR码,条形码,徽标以及1个或更多(最多20+)1/4宽度的图像.
当前流程w/DOMPDF:
新想法:
从理论上讲,这将照顾QR和条形码图像,但是,其余的图像仍然会使它太慢.
这样做,没有(QR和条形码)以外的任何图像,PDF可以在~500ms内生成,但是一旦我开始添加图像,它每次上升到2,3,4,5秒.
当运行测试并处理~10k订单(几分钟内)时,它仍在12小时后处理PDF,直到我沮丧地关闭它.
PDF是在单独的队列过程中生成的,因此该人员在订购时无需等待,但是 - 仍然......在高流量时,他们不能花费5个多小时来接收他们的确认PDF.
问题/ TLDR:
如何使用动态qr代码,动态条形码,动态文本和1-20个静态图像(所有PDF中的图像相同)更快地创建PDF?
还有其他我没想过的潜在事吗?也许制作模板PDF并以某种方式使用PHP来填充动态点?
TLDR:我如何在Controller中创建一个URL,类似于如何使用HtmlHelper在视图中创建URL?
问题:
我想在我的控制器中打印一个控制器动作的url(因为我在我的控制器中创建了我的JSON字符串,而不是在视图中)
在一个View,我可以使用$this->Html->url(),但在控制器呢?
我应该使用定义的常量如APP_DIR+ Controller name + Controller action吗?)
我正在使用cakePHP版本3.x.
当我查询MessagesTable时,我想获取发送者和消息接收者的用户数据.我已经在cakePHP 2中多次这样做但我无法弄清楚为什么它不能在3.x版本中运行.
我有一个UsersTable和一个MessagesTable.
UsersTable
$this->hasMany('Messages');
Run Code Online (Sandbox Code Playgroud)
MessagesTable
$this->belongsTo('Users', [
'foreignKey' => 'sender_id',
'propertyName' => 'Sender',
]);
$this->belongsTo('Users', [
'foreignKey' => 'user_id',
'propertyName' => 'Receiver'
]);
Run Code Online (Sandbox Code Playgroud)
这是我正在使用的查询
$messages = $this->Messages->find()
->where(['Messages.user_id' => $this->Auth->user('id')])
->orwhere(['Messages.sender_id' => $this->Auth->user('id')])
->order(['Messages.created' => 'DESC'])
->contain([
'Users.Pictures',
]);
Run Code Online (Sandbox Code Playgroud)
我收回了Receiver数据,但也没有收到Sender数据.任何帮助将非常感激
我想要包含一个应该应用于主页的特定css文件,以及整个网站中的6-7个其他页面.
我知道我可以通过PHP,获取URL,找到什么页面,链接css等等来做到这一点,但我想知道是否有一个光滑的方式(或任何更好的方式)使用CakePHP包含正确的CSS文件(S).
我意识到我可以从特定的视图链接CSS文件,但是 - 然后它们不会在<head>.有没有办法从视图中链接并将其显示在头部?
我希望我的问题有意义,并非常感谢任何帮助.
我认为在CakePHP中是一个普通的查询调用 - 它适用于所有结果,但是当一个字段中有一个特殊字符时,该字段将返回空.它没有破坏 - 它仍然给我剩下的领域 - 它只是一个空的领域.
例:
$this->paginate = array(
'conditions' => array(
'Item.name != ' => '',
),
);
$data = $this->paginate('Item');
Run Code Online (Sandbox Code Playgroud)
这将返回我的表中的所有项目(包括我认为具有空名称字段的项目) - 但是当我尝试将名称回显到页面时,它适用于除具有特殊字符(é)的项目之外的每个项目.我将它改为正常的"e",它显示正常.
即使他们的名字中有特殊字符,我怎样才能返回结果?提前致谢!
赏金:
+500代表赏金的解决方案.我已经严重撞击这堵墙了两个星期了,我已准备好帮忙了.
表/模型(简化为显示关联)
大概的概念:
用户可以创建节点类型(例如"电视台","电视节目"和"演员"......任何东西).如果我提前知道节点类型是什么以及每个节点之间的关联,我只是为它们制作模型 - 但我希望这是非常开放的,以便用户可以创建他们想要的任何节点类型.然后,(特定节点类型的)每个节点可以与任何其他节点类型的任何其他节点相关.
描述和我尝试过的内容:
每个节点都应该能够与任何/每个其他节点相关联.
我的假设是,要做到这一点,我必须有一个关联表 - 所以我做了一个名为"node_associations",其中包含node_id和other_node_id.
然后我建立了我的关联(通过我相信使用hasMany):(以下是我对我的设置的最好记忆......它可能稍微关闭)
//Node model
public $hasMany = array(
'Node' => array(
'className' => 'NodeAssociation',
'foreignKey' => 'node_id'
),
'OtherNode' => array(
'className' => 'NodeAssociation',
'foreignKey' => 'other_node_id'
)
);
//NodeAssociation model
public $belongsTo = array(
'Node' => array(
'className' => 'Node',
'foreignKey' => 'node_id'
),
'OtherNode' => array(
'className' => 'Node',
'foreignKey' => 'other_node_id' …Run Code Online (Sandbox Code Playgroud) cakephp associations has-and-belongs-to-many has-many-through cakephp-2.1
我有现有的objects数据表.现在我需要holdings添加一个名为的新表,并添加从对象到holdings表的关系.在迁移文件中,我打印出来:
$table->foreign('holding_id')->references('id')->on('holdings')->onDelete("NO ACTION");
Run Code Online (Sandbox Code Playgroud)
尝试迁移时出现此错误
SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update
a child row: a foreign key constraint fails (`kolomnaoffice`.`#sql-f10_126`
CONSTRAINT `objects_holding_id_foreign` FOREIGN KEY (`holding_id`)
REFERENCES `holdings` (`id`) ON DELETE NO ACTION) (SQL: alter table `objects` add constraint
`objects_holding_id_foreign` foreign key (`holding_id`) references `holdings`
(`id`) on delete NO ACTION)
Run Code Online (Sandbox Code Playgroud)
我有正确的数据库结构(都是InnoDB),字段存在并且具有正确的类型(int).唯一不同的是表objects填充了数据,表holdings是新的和空的.
好的,我一定在这里遗漏了一些非常简单的东西。我只想从 user_id 匹配的表中返回所有记录(简单!)并且“已支付”字段为 NULL 或 0。我的“已支付”字段是 TinyInt (1)。
我的 CakePHP 模型代码是:
$workingRecord = $this->find('first',array(
'conditions'=>array(
'Subscription.user_id'=>$userId,
array('not' => array('Subscription.paid' => true)) // Not True, to catch both false or NULL values
)
));
Run Code Online (Sandbox Code Playgroud)
CakePHP 生成的 SQL 是这样的:
SELECT `Subscription`.`id`, `Subscription`.`paid` FROM `subscriptions` AS `Subscription` WHERE `Subscription`.`user_id` = 3 AND NOT (`Subscription`.`paid` = '1') LIMIT 1
Run Code Online (Sandbox Code Playgroud)
常识会说这应该有效。问题是 SQL 将返回 'paid' 列中包含 0 的行,但永远不会返回 NULL。
有没有办法在不使用“或”的情况下一次性返回零和空值?
提前致谢。
cakephp ×8
php ×4
cakephp-1.3 ×3
cakephp-2.1 ×2
mysql ×2
android ×1
associations ×1
belongs-to ×1
cakephp-2.0 ×1
cakephp-2.5 ×1
cakephp-2.x ×1
cakephp-3.0 ×1
cakephp-3.x ×1
foreign-keys ×1
html-helper ×1
image ×1
java ×1
laravel ×1
laravel-5.4 ×1
listview ×1
migration ×1
model ×1
paginate ×1
pdf ×1
performance ×1