cakephp如何进行此查询

时间:2018-07-30 03:24:41

标签: php mysql cakephp-2.0

我是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"中进行另一个查询

1 个答案:

答案 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]);
    });

文档: