我是Cakephp的新手,我对此有疑问。我有两个表Campaign和Users,我查询了Campaign表以及对用户进行搜索的结果。
|---------|
| Camping |
|---------|
| id |
|---------|
| name |
|---------|
|----------|
| User |
|----------|
| id |
|----------|
| name |
|----------|
|Camping_id|
在PHP中,我执行以下查询"Select * from camping where id = 1;"
,并根据结果在用户表"Select * from user where camping_id = result.camping"
中进行另一个查询
答案 0 :(得分:0)
如果您需要按Camping_id
进行过滤,则可以使用where
这样的方法:
$users = TableRegistry::get('Users');
$query = $users->find()
->where(['Camping_id =' $campingId]);
如果您想按关联数据进行过滤,则可以通过以下方式实现:
$campingName = '...';
$users = TableRegistry::get('Users');
$query = $users->find()
->matching('Campings', function ($q) use ($campingName) {
return $q->where(['Campings.name' => $campingName]);
});
文档: