audi2014 / request-query
This package is abandoned and no longer maintained.
No replacement package was suggested.
request-query
v1.0.0
2019-04-04 07:17 UTC
Requires
- php: >=7.1
This package is not auto-updated.
Last update: 2023-01-21 01:38:18 UTC
README
#php7-request-query
<?php /** * Created by PhpStorm. * User: arturmich * Date: 3/5/19 * Time: 11:00 AM */ namespace Lemons24\Scizzy\Models\StoreWithPartner; use Audi2014\RequestQuery\AbstractRequestQueryPage; class StoreWithPartnerQueryPage extends AbstractRequestQueryPage { protected $or = false; public function setOrForConditions(bool $or) { $this->or = $or; return $this; } //eq public $isApproved = 1; public $id; public $partnerId; public $discountType; //in public $partnerIds; public $ids; //>= <= public $latitude_min; public $latitude_max; public $longitude_min; public $longitude_max; public $discountValue_min; public $discountValue_max; public $discountStart_after; public $discountStart_before; public $discountEnd_before; public $discountEnd_after; public $updatedAt_after; public $updatedAt_before; public $createdAt_after; public $createdAt_before; //like public $companyName; public $discountName; public $fullName; public $title; public $description; public $address; public $phone; public $email; protected function getConditionGroup(string $key, string &$groupId, bool &$orForConditions, bool &$orForGroup, bool &$isHaving, bool &$orNullConditionMode): void { if ($key === 'isApproved') { $groupId = 'isApproved'; $orForConditions = false; $orForGroup = false; } else { $orForConditions = $this->or; } if (in_array($key, [ 'latitude_min', 'latitude_max', 'longitude_min', 'longitude_max', ])) { $groupId = 'location'; $orForConditions = false; $orForGroup = false; $orNullConditionMode = true; } } protected function getEqKeys(): array { return [ 'isApproved' => 'partner.isApproved', 'id' => 'store.id', 'partnerId' => 'store.partnerId', 'discountType' => 'partner.discountType', ]; } protected function getInKeys(): array { return [ 'ids' => 'store.id', 'partnerIds' => 'store.partnerId', ]; } protected function getGthEqKeys(): array { return [ 'longitude_min' => 'store.longitude', 'latitude_min' => 'store.latitude', 'discountValue_min' => 'partner.discountValue', 'updatedAt_after' => 'store.updatedAt', 'createdAt_after' => 'store.createdAt', 'discountStart_after' => 'partner.discountStart', 'discountEnd_after' => 'partner.discountEnd', ]; } protected function getLthEqKeys(): array { return [ 'longitude_max' => 'store.longitude', 'latitude_max' => 'store.latitude', 'discountValue_max' => 'partner.discountValue', 'updatedAt_before' => 'store.updatedAt', 'createdAt_before' => 'store.createdAt', 'discountStart_before' => 'partner.discountStart', 'discountEnd_before' => 'partner.discountEnd', ]; } protected function getLikeKeys(): array { return [ // 'categoryName' => 'category.name', 'companyName' => 'partner.companyName', 'discountName' => 'partner.discountName', 'fullName' => 'partner.fullName', 'title' => 'store.title', 'description' => 'store.description', 'address' => 'store.address', 'phone' => 'store.phone', 'email' => 'store.email', ]; } protected function getOrderByKeys(): array { return [ 'title' => 'store.title', 'id' => 'store.id', 'partnerId' => 'store.partnerId', 'updatedAt' => 'store.updatedAt', 'createdAt' => 'store.createdAt', ]; } }