別の検索から受け取った配列に基づいて、cakePHP で検索を行う方法を見つけようとしています。
構造: データベースに多数のサイトがあります。私もいくつかのビジネスを持っています。各ビジネスには 1 つのサイトがありますが、すべてのサイトがビジネスに属しているわけではありません。ビジネスに属するサイトへの販売のすべての注文のリストを取得しようとしています。次のようなネストされた配列 ($businesses) で返される、ビジネスに属するすべてのサイトを取得するための find メソッドを既に実行しました。
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'
)
),
ここで、この配列のデータを別の find メソッドの一部として使用したいと考えています。このようなもの:
$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 と比較するにはどうすればよいですか?