【发布时间】:2018-12-30 14:51:37
【问题描述】:
我有 3 个模型,基本模型是 Jobs,Customers, Contacts 是与工作相关的模型。这是关联。
$this->belongsTo('Customers', [
'className' => 'Customers',
'foreignKey' => 'customer_id',
'joinType' => 'INNER'
]);
$this->belongsTo('Contacts', [
'className' => 'Contacts',
'foreignKey' => 'contact_id',
'joinType' => 'INNER'
]);
我想在所有 3 个表中搜索一个文本,并返回具有搜索文本的工作记录至少有一个表...我想使用 CakePHP 的 ORM 来实现这一点...
这是您可能希望作为参考的原始 SQL,
$searchText = 'Bikash';
$JobQ->query("SELECT *
FROM Jobs
LEFT JOIN Customer ON Jobs.CustomerID=Customers.CustomerID
LEFT JOIN Contacts ON Jobs.ContactID=Contacts.ContactID
WHERE (
Job.JobName LIKE '%" . $searchText . "%' or
Customer.Name LIKE '%" . $searchText . "%' or
Contact.FirstName LIKE '%" . $searchText . "%' or
Contact.Surname LIKE '%" . $searchText . "%');
【问题讨论】: