本文整理汇总了PHP中AdminHelper::getSearchData方法的典型用法代码示例。如果您正苦于以下问题:PHP AdminHelper::getSearchData方法的具体用法?PHP AdminHelper::getSearchData怎么用?PHP AdminHelper::getSearchData使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类AdminHelper
的用法示例。
在下文中一共展示了AdminHelper::getSearchData方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: searchResultsEntities
public static function searchResultsEntities(ModelConfig $modelConfig)
{
return static::completeEntities($modelConfig)->where(function ($query) use($modelConfig) {
$searchDataArray = AdminHelper::getSearchData($modelConfig);
if ($searchDataArray) {
foreach ($searchDataArray as $searchData) {
if ($searchData['searchConfig']['type'] == 'standard') {
if ($searchData['searchConfig']['match'] == 'exact') {
if (config('gtcms.premium') && isset($searchData['langDependent']) && $searchData['langDependent']) {
$query->where(function ($query2) use($searchData) {
foreach (config('gtcmslang.languages') as $lang) {
$query2->orWhere($searchData['dbProperty'] . "_" . $lang, $searchData['value']);
}
});
} else {
$value = $modelConfig->getDatabasePropertyValue($searchData['property'], $searchData['value']);
$eqSign = "=";
if ($searchData['fieldFrom']) {
$eqSign = ">=";
} else {
if ($searchData['fieldTo']) {
$eqSign = "<=";
}
}
$query->where($searchData['dbProperty'], $eqSign, $value);
}
} else {
if ($searchData['searchConfig']['match'] == 'pattern') {
if (config('gtcms.premium') && isset($searchData['langDependent']) && $searchData['langDependent']) {
$query->where(function ($query2) use($searchData) {
foreach (config('gtcmslang.languages') as $lang) {
$query2->orWhere($searchData['dbProperty'] . "_" . $lang, 'LIKE', '%' . $searchData['value'] . '%');
}
});
} else {
$query->where($searchData['dbProperty'], 'LIKE', '%' . $searchData['value'] . '%');
}
}
}
} else {
if ($searchData['searchConfig']['type'] == 'exception') {
//custom code here
}
}
}
}
});
}