我正在尝试测试一个bash脚本,当子进程崩溃时重启它的子进程.
如何使bash脚本故意崩溃?
(我正在尝试测试重启过程的脚本)
我有一个按照int字段排序的有序商品列表order
.我在CakePHP 1.2中创建了一个具有上一个和下一个按钮的画廊,这些按钮应根据他们的顺序链接到上一个和下一个项目,而不是根据他们的顺序id
.
为了得到这个结果,我将'order'参数包含在find函数中,并用它填充'Item.order'=>'DESC'
.结果仍然是id
有序列表.
我的问题是:我做错了什么?我的控制器:
$this->Item->id = 16;
$neighbours = $this->Item->find('neighbors', array(
'order' => array('Item.order'=>'DESC'),
'fields' => array('id','name')
));
Run Code Online (Sandbox Code Playgroud)
我的解决方案
我尝试过不同的方法.我的代码现在完成了这项工作,看起来如下:
$order = $this->Item->findById(6);
$neighbours = $this->Item->find('neighbors', array(
'field' => 'order',
'value' => $order['Item']['order']
));
Run Code Online (Sandbox Code Playgroud)
通过参数设置'field'
到外地将是排序字段,并且设置'value'
参数为您当前项目的订单价值,你会得到prev
和next
.
我使用CakePHP 2.1的工作
让我们的国家,我有以下的模型和关系:
Posts
属于关联Edition
Posts
HABTM Editors
Posts
HABTMTags
我是从这个推理出来的PostsController
,我想找到所有Posts
属于某个的Edition
,这Editor.id=55
是相关的,并且Tag.id=33
是相关的.
我发现了许多例子,其中Posts
根据HABTM关系的条件进行查找是通过"反转"查找方向和原因来完成的Editor
.
$this->Editor->find('all',
array(
'conditions'=>array('Editor.id'=>55),
'contain'=>array('Post')
)
);
Run Code Online (Sandbox Code Playgroud)
不幸的是,这在这里不起作用,因为我想提出多个HABTM关系.
使用contain
也不起作用,因为它只切断了一个branch(editors
),但没有帮助过滤它的parent(posts
).
我该如何解决这个问题?
我是否可能需要采用临时连接?如果是这样,有人可以大致解释一下采取什么方法?
编辑: 一些伪代码,以说明我想要实现的目标:
$this->Post->find('all',
array('conditions'=>array(
'Edition.id'=>4,
// start pseudo code
'Post.Editor' => 'has at least one related editor with id=55',
'Post.Tag' => 'has at least one related tag with id=33',
)
)
);
Run Code Online (Sandbox Code Playgroud)
亲切的问候,巴特
编辑解决方案: 关注@RichardAtHome我在下面创建了解决方案.不(尚)使用多个连接条件,但似乎没有必要:
// …
Run Code Online (Sandbox Code Playgroud) cakephp has-and-belongs-to-many multiple-conditions conditional-statements cakephp-2.0