cakephp - 按分页上的关联数据查找
问题描述
我有两个:
Providers
并Purchasetopay
具有以下关联:
$Providers->hasMany('Purchasetopay', [
'foreignKey' => 'providers_id'
]);
我也有以下行动:
public function fornecedores(){
$Providers = TableRegistry::get('Providers');
$pesquisar = $this->request->query('pesquisar');
if(!empty($pesquisar)){
$this->paginate = [
'conditions' =>
[ 'OR' =>
['Providers.cnpj' => $pesquisar,
'Providers.corporatename LIKE' => '%'.$pesquisar.'%',
]
]
];
}
$query = $Providers->find()->contain(['Telephones','Purchasetopay'=>['SupplierNotes']]);
$providers = $this->paginate($query);
$this->set(compact('providers'));
}
我需要将 Purchasetopay 字段添加到OR
条件中。如何?我看到了这个解决方案:https ://stackoverflow.com/a/39559315/11239369
但是,我不知道如何调整我的代码以这种方式工作。
解决方案
您可以使用 orWhere/andWhere 如下:
$query = $Providers->find()
->contain(['Telephones','Purchasetopay'=>['SupplierNotes']])
->where( ['Providers.cnpj' => $pesquisar])
->orWhere(['Providers.corporatename LIKE' => '%'.$pesquisar.'%' ]);
推荐阅读
- python - 在 np.where() 中有 & 的问题
- python - 本地主机上的私有 pypi 服务器
- xamarin.forms - 如何在平台标签上的 ToolbarItem 上绑定图像图标
- java - REST Assured 查询参数的多个值不起作用
- azure - 如何以编程方式按产品获取 Azure 产品?
- java - 数组似乎正在更新自己
- spartacus-storefront - Smartedit 与 EarlyLogin 结合使用的身份验证问题
- python - QML ComboBox 中的 Python 列表
- c# - 如何打开带有损坏数据的word文档?
- windows - 如何使用通用分析为基于电子的 Windows 应用程序实施 Google Analytics?