我正在检索数据:
$mydata = $this->ProductList->find('all', array('order' => 'rand()', 'conditions' => array('name' => 'we love')));
我已经建立了与 Product 模型的 HABTM 关系。如您所见,我正在获取“我们喜欢”列表中的所有产品。现在,我希望我检索的那些产品是随机的。但它们不是,相反,MySQL 在 ProductList 模型上是随机的,正如您在 SQL 中看到的那样。这是为什么?我怎样才能获得产品的随机提取呢?
生成的 MySQL 查询:
SELECT `ProductList`.`id`, `ProductList`.`name` FROM `database`.`product_lists` AS `ProductList` WHERE `name` = 'we love' ORDER BY rand() ASC
SELECT `Product`.`id`, `Product`.`category_id`, `Product`.`name`, `Product`.`price`, `Product`.`description`, `ProductListsProduct`.`product_list_id`, `ProductListsProduct`.`product_id` FROM `database`.`products` AS `Product` JOIN `database`.`product_lists_products` AS `ProductListsProduct` ON (`ProductListsProduct`.`product_list_id` = 3 AND `ProductListsProduct`.`product_id` = `Product`.`id`)