cakephp如何进行此查询



我是cakepp的新手,我有一个关于如何做到这一点的问题。我有两个表活动和用户,我查询活动表和对用户进行搜索的结果。

|---------|
| Camping |
|---------|
|   id    |
|---------|
|   name  |
|---------|
|----------|
|   User   |
|----------|
|   id     |
|----------|
|   name   |
|----------|
|Camping_id|

在PHP中,我执行以下查询"Select * from camping where id = 1;",并根据结果在用户表"Select * from user where camping_id = result.camping"中进行另一个查询

如果需要通过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]);
});

文件:

  • https://book.cakephp.org/3.0/en/orm/retrieving-data-and-resultsets.html#using-加载数据的查找程序
  • https://book.cakephp.org/3.0/en/orm/retrieving-data-and-resultsets.html#filtering-通过匹配和联接关联数据

相关内容

  • 没有找到相关文章

最新更新