本文整理汇总了PHP中yii\db\ActiveQuery::defaultOrder方法的典型用法代码示例。如果您正苦于以下问题:PHP ActiveQuery::defaultOrder方法的具体用法?PHP ActiveQuery::defaultOrder怎么用?PHP ActiveQuery::defaultOrder使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类yii\db\ActiveQuery
的用法示例。
在下文中一共展示了ActiveQuery::defaultOrder方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: getDropDownItems
/**
* Get drop down list items using provided Query.
*
* __WARNING__: This method does not append authorized conditions to query and you need append those if needed.
*
* @param \yii\db\ActiveQuery $query
*
* @return array
*/
public static function getDropDownItems($query)
{
if ($query instanceof ActiveQuery) {
$query->defaultOrder();
}
/** @var \yii\db\ActiveRecord|\netis\rbac\AuthorizerBehavior $model */
$model = new $query->modelClass();
$fields = $model::primaryKey();
if (($labelAttributes = $model->getBehavior('labels')->attributes) !== null) {
$fields = array_merge($model::primaryKey(), $labelAttributes);
}
$flippedPrimaryKey = array_flip($model::primaryKey());
return ArrayHelper::map($query->from($model::tableName() . ' t')->all(), function ($item) use($fields, $flippedPrimaryKey) {
/** @var \netis\crud\db\ActiveRecord $item */
return Action::exportKey(array_intersect_key($item->toArray($fields, []), $flippedPrimaryKey));
}, function ($item) use($fields) {
/** @var \netis\crud\db\ActiveRecord $item */
$data = $item->toArray($fields, []);
return $data['_label'];
});
}