按 CakePHP 中的特定字段值排序

Mil*_*tin 1 php mysql cakephp

我有数组 $productsTop

(int) 0 => '6
(int) 1 => '4',
(int) 2 => '1',
(int) 3 => '2',
(int) 4 => '3',
(int) 5 => '5'
Run Code Online (Sandbox Code Playgroud)

其中 6 4 1 2 3 5 是产品表的 ID。我只想显示我的产品表中的 5 个产品,而不是按 ID ASC 或 DSC 订购,我想按 ID 订购它们,就像它们在 arrar 中订购的一样,因此它可以首先显示产品 ID 6,然后显示 ID 4...身份证 5。

任何人都可以请帮忙。

$productTop = [6,4,1,2,3,5];

$product = $this->Product->find('all', array(
    'conditions'=>array('Product.id'=>$productTop),
    'limit'=>5
    ));
Run Code Online (Sandbox Code Playgroud)

通过这种方式,它向我展示了所有产品,但按其 ID 订购,而不是向我展示:

6,4,1,2,3,5
Run Code Online (Sandbox Code Playgroud)

表明:

1,2,3,4,5,6
Run Code Online (Sandbox Code Playgroud)

Dav*_*ave 5

您可以按指定的值进行排序,如下所示:

'order' => "FIELD(id, '6', '4', '1', '3', '2', '5')"
Run Code Online (Sandbox Code Playgroud)