cakephp3を使用して、3つのテーブルから条件が一致するものを全て呼び出したいのですが、データベースをくっつける設定のところからわからないので、ご教示お願いします。
商品購入のログなのですが、商品とオプションとチップに分けてログを登録しています。
メインはserveicesテーブルで共通部分は、seller/op_seller/c_sellerの出品者idと
room_nob/op_room_nob/c_room_nobの商品ナンバーです。
$seller="aaa"; $purch_nob="12345";
上記の変数に入った値と一致するレコードを全て表示させたいのです。
serveices | id | seller | buyer | room_nob | title | money | 1 | aaa | bbb | 12345 | イラスト | 3000 | 2 | ccd | hhh | 45632 | ロゴ制作 | 4000 options | id | op_seller | op_buyer | op_room_nob | op_title | op_money | 1 | aaa | bbb | 12345 | 色付 | 500 | 2 | aaa | bbb | 12345 | 加工 | 500 | 3 | aaa | bbb | 12345 | 背景 | 1000 | 4 | aaa | bbb | 12345 | 商用利用削除 | 2000 | 5 | ccd | hhh | 45632 | 修正 | 1000 | 6 | ccd | hhh | 45632 | 商用利用削除 | 2000 chips | id | c_seller | c_buyer | c_room_nob | c_title | c_money | 1 | aaa | bbb | 12345 | チップ | 500 | 2 | ccd | hhh | 45632 | チップ | 100 | 3 | aaa | bbb | 12345 | チップ | 1000
他のサイトを見ながら記述したのですが、Unknown method "matching"のエラーになってしまいます。
php
1 $serveices=TableRegistry::get('serveices');//購入履歴 2 $options=TableRegistry::get('options');//オプション購入履歴 3 $chips=TableRegistry::get('chips');//チップ履歴 4 5 $seller="aaa"; 6 $purch_nob="12345"; 7 8 $serveices->matching('Options', function (Query $q) use ($seller) { 9 return $q->where(['Options.op_seller IN' => $seller]); 10 11 })->matching('Chips', function (Query $q) use ($seller) { 12 return $q->where(['Chips.c_seller IN' => $seller]); 13 14 });
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/04/19 09:09 編集
2017/04/19 10:55
2017/04/19 11:03
2017/04/21 13:38