2015-01-16 2 views
0

В настоящее время у меня есть массив sort. Сортировка имеет только один ключ/значение. Клавиши и значения всегда разные. У этого массива всегда всего одна пара ключей/значений. Как получить доступ к обоим элементам динамически в laravel?Лучший способ доступа к входам массива Laravel?

Я уже решил это, но считаю, что это крайне неэффективно.

мое текущее решение

Я сделал функцию orderQuery() вернуть имя ключа.

function orderQuery() { 
    foreach (Input::get('sort') as $key => $value) { 
     return $key; // there is only 1 item in the array but this looks like bad practice 
    } 
} 

Тогда я называю это так, чтобы ответить на мой запрос

->orderBy(orderQuery(), Input::get('sort.'.orderQuery()))

Есть ли лучший способ сделать это?

ответ

1

Вы можете использовать key()

$key = key(Input::get('sort')); 

Если вы хотите быть за исключением reset указатель первым:

$sort = Input::get('sort'); 
reset($sort); 
$key = key($sort); 
+0

Спасибо, это кажется намного чище и лучше практики. Я использую '$ value = Input :: get (" sort. $ Key ");' чтобы получить значение из ключа сейчас. :) – Rafael

Смежные вопросы