我正在尝试根据从另一个查找中收到的数组在 cakePHP 中进行查找。
结构:我的数据库中有许多站点。我也有很多生意。每个企业都有一个站点,但并非所有站点都属于一个企业。我正在尝试获取销售中所有订单的列表,这些订单转到属于企业的网站。我已经完成了一个 find 方法来获取属于一个企业的所有站点,它在一个嵌套数组 ($businesses) 中返回,如下所示:
array(
(int) 0 => array(
'Business' => array(
'id' => '17',
'name' => 'Name',
'code' => 'Code',
'discount' => 'Discount',
'site_id' => 47
)
),
(int) 1 => array(
'Business' => array(
'id' => '19',
'name' => 'Name',
'code' => 'Code',
'discount' => 'Discount',
'site_id' => '108'
)
),
现在,我想将此数组中的数据用作另一种查找方法的一部分。像这样的东西:
$this->Order->find('all', array(
'contain'=>array("Info"),
'conditions'=>array('Order.sale_id' => $sale, 'Order.site_id' => $businesses),
'order'=> array('last_name' => 'ASC')));
问题是当我这样做时,我得到一个数组到字符串的转换错误,因为 $businesses 是一个嵌套数组,所以 Cake 将它转换为
AND `Order`.`site_id` IN (Array, Array, Array, Array, Array, Array, Array, Array, Array, Array, Array, Array, Array, Array, Array)
如何访问嵌套数组,以便将订单上的 site_id 与数组中每个企业的 site_id 进行比较?