Есть ли более простой способ перебрать список свойств объектов в Laravel

У меня есть приложение Laravel, где я использую немного кода, который кажется действительно не интуитивным.

В коде я возвращаю список объектов ($occupied) которые все имеют столбец «свойство». Затем я продолжаю создавать массив списка свойств объектов ($occupiedproperty) просто использовать его в вызове whereNotIn.

    if ($occupied = Residency::currentResidents()){

// Here is the pointless part //////
$occupiedproperty = array();
foreach ($occupied as $occ) {
array_push($occupiedproperty, $occ->property);
}
///////////////////////////////////

return Property::whereNotIn('id', $occupiedproperty)->get();
}

Этот код отлично работает, но создание нового массива, когда у меня уже есть список объектов, кажется ленивым. Я попытался просмотреть документацию Eloquent, но не смог этого понять.

Мне нужно иметь доступ к столбцу «свойство» $occupied так что я могу запустить что-то вроде whereNotIn('id', $occupied->property)

Спасибо

2

Решение

Не могу проверить это сейчас, но это должно работать (это должно работать даже без приведения к массиву $occupied коллекция):

$occupiedProperties = array_pluck((array)$occupied, 'property');

Он использует array_pluck() вспомогательный метод: http://laravel.com/docs/4.2/helpers#arrays

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]