How can we use NOT IN in cakephp3 ?
I have find below link:
https://book.cakephp.org/2.0/en/models/retrieving-your-data.html#complex-find-conditions
but its not working in my case :
Getting error :
Argument 1 passed to App\Model\Table\FacilityGroupItemsTable::App\Model\Table{closure}() must be an instance of App\Model\Table\QueryExpression, instance of Cake\Database\Expression\QueryExpression given, called in C:\xampp722\htdocs\cakphp36\vendor\cakephp\cakephp\src\Database\Query.php on line 2226
My Code is :
$result = $this->find(‘all’)
->innerJoin(
[‘ItemLicenses’ => $this->ItemLicenses->Table()],
[‘ItemLicenses.id = FacilityGroupItems.item_license_id’]
)
->innerJoin(
['Branches' => $this->Branches->Table()],
['Branches.id = FacilityGroupItems.branch_id']
)
->leftJoin(
['CreatedUsers' => $this->Users->Table()],
['CreatedUsers.id = FacilityGroupItems.created_user_id']
)
->leftJoin(
['ModifiedUsers' => $this->Users->Table()],
['ModifiedUsers.id = FacilityGroupItems.modified_user_id']
)
->innerJoin(
['FacilityGroups' => $this->FacilityGroups->Table()],
['AND' =>['FacilityGroups.id = FacilityGroupItems.facility_group_id',
'FacilityGroups.rental' => 1]]
)
->innerJoin(
['ItemManufacturers' => $this->ItemManufacturers->Table()],
['ItemManufacturers.id = FacilityGroupItems.item_manufacturer_id']
)
->innerJoin(
['ItemModels' => $this->ItemModels->Table()],
['ItemModels.id = FacilityGroupItems.item_model_id']
)
->where([['item_status_id' => $activeStatusID],
])->where(function (QueryExpression $exp, Query $q) {
return $exp->notIn('FacilityGroupItems.id', $subQuery);
});
$subquery is in array format.
Thanks
Regards
Anuj