$filter = [];
$filter['distinct'] = 'title';
$filter['select'] = ['uid','title', 'uid as aliasID'];
$filter['addSelect'] = ['pid','date_create'];
$filter['whereUid'] = 1; // Dynamic
$filter['wherePid'] = 1; // Dynamic
$filter['whereTitle'] = []; // Dynamic
$filter['whereFieldName'] = []; // Dynamic
$filter['where.Ar'] = []; // orWhere, =, <, >, <=, >=, <>, !=, LIKE, NOT LIKE, BETWEEN, ILIKE
$filter['where.Ar'][] = ['uid','>=',1];
$filter['where.Ar'][] = ['uid','<=',10000];
$filter['where'] = function($q) {
$q->where('pid','>=',0);
$q->orWhere('pid','<=',0);
};
$filter['whereIn'] = ['uid',[1,2,3,4,5,6,7,8,9,10]]; // orWhereIn, whereNotIn, orWhereNotIn
$filter['whereNull'] = 'keywords'; // orWhereNull, whereNotNull, orWhereNotNull
$filter['whereBetween'] = ['uid',[1,1000]]; // whereNotBetween
$filter['whereColumn'] = ['uid','!=','title'];
$filter['whereRaw'] = ['(uid > ? and uid < ?)', [1,1000]]; // DB::raw(1)
$filter['whereRaw.Ar'] = [];
$filter['whereRaw.Ar'][] = ["FROM_UNIXTIME(date_create, '%j') = ?", 11]; // %d -> with zero
$filter['whereRaw.Ar'][] = ["FROM_UNIXTIME(date_create, '%n') = ?", 1]; // %m -> with zero
$filter['whereRaw.Ar'][] = ["FROM_UNIXTIME(date_create, '%Y') = ?", 2021];
$filter['whereExists'] = function($q) { // ->orWhereExists(), ->whereNotExists(), ->orWhereNotExists()
$q->select(DB::raw(1))->from('pages')->whereRaw('uid > 0');
};
$filter['inRandomOrder'] = false; // true
$filter['orderBy.Ar'] = [];
$filter['orderBy.Ar'][] = ['uid','desc'];
$filter['orderBy.Ar'][] = ['title','desc'];
$filter['groupBy'] = 'title';
$filter['limit'] = 3;
$filter['offset'] = 0;
$filter['having'] = ['aliasID', '>', 0]; // orHaving, havingRaw
$filter['with.Ar'] = []; // has, whereHas, doesntHave, whereDoesntHave, withCount
$filter['with.Ar'][] = [
'exampletable1_row_func' => function($q) {
$q->with('exampletable_row_id_func');
$q->where('uid','>',0);
$q->where('pid','>',0);
}
];
$filter['with.Ar'][] = 'exampletable2_rows_func.exampletable_row_id_func';
$filter['with.Ar'][] = 'exampletable3_row_id_func';
$filter['with.Ar'][] = 'exampletable4_rows_func';
#$filter['union'] = ['']; // unionAll // $subQ = NewTable::recSelect('obj', $filter);
#$filter['join'] = ['contacts', 'users.id', '=', 'contacts.user_id'];
#$filter['leftJoin'] = ['posts', 'users.id', '=', 'posts.user_id'];
#$filter['crossJoin'] = 'posts';
$filter['withoutGlobalScopes'] = true;
$filter['withoutGlobalScope'] = ['FlagDeleted','FlagDeleted','DateStart', 'DateEnd'];
$filter['userPagination'] = [30,1]; // $pageLimit, $pageNumber
$filter['userWhereFlagDeleted'] = [0,1]; // 0, 1, [0,1]
$filter['userWhereFlagDisabled'] = [0,1]; // 0, 1, [0,1]
$sql = NewTable::recSelect('toSql', $filter);
$count = NewTable::recSelect('count', $filter);
$rows = NewTable::recSelect('get', $filter);
print "Sql: " . $sql . "<hr />";
print "Count: " . $count . "<hr />";
foreach ($rows as $row) {
print $row['title'] . " // ";
print $row['[relname]_row(s)_func']['title'] . "<br />";
}