Попытка получить свойство необъекта при попытке получить ID в Laravel

Я создал очень простую библиотеку https://github.com/ravinderpayal/FooterJS

. Она очень проста в использовании. После включения библиотеки просто позвоните в эту строку кода.

footer.init(document.getElementById("ID_OF_ELEMENT_CONTAINING_FOOTER"));

Нижние колонтитулы могут быть динамически изменены путем вызова функции выше с другим параметром / id.

footer.init(document.getElementById("ID_OF_ANOTHER_ELEMENT_CONTAINING_FOOTER"));

Примечание. - Вы не должны изменять или добавлять CSS. Библиотека динамична, что подразумевает, что даже если размер экрана будет изменен после загрузки страницы, он сбросит положение нижнего колонтитула. Я создал эту библиотеку, потому что CSS решает проблему некоторое время, но когда размер отображения значительно меняется, от рабочего стола до планшета или наоборот, они либо перекрывают содержимое, либо больше не остаются липкими.

Другое решение - это CSS Media Queries, но вы должны вручную писать разные стили CSS для разных размеров экранов, в то время как эта библиотека выполняет свою работу автоматически и поддерживается всеми базовыми браузерами, поддерживающими JavaScript.

Редактирование решения CSS:

@media only screen and (min-height: 768px) {/* or height/length of body content including footer*/
    /* For mobile phones: */
    #footer {
        width: 100%;
        position:fixed;
        bottom:0;
    }
}

Теперь, если высота отображения больше, чем длина вашего содержимого, мы создадим нижний колонтитул снизу, а если нет, он будет автоматически отображаться в самом конце дисплея, поскольку вам нужно прокрутить, чтобы просмотреть это .

И это кажется лучшим решением, чем JavaScript / library one.

0
задан Ikram Shabri 19 March 2019 в 10:16
поделиться

2 ответа

Я бы попробовал это:

// prepare an empty $result collection that will store the ids of the users
$result = collect();

// probably a number, not a string, in your database: we should keep the right type
$id = 5;
addRelatedUsersToResult($id, &$result);

dd($result);

// add all the related users ids to the result 
// and call itself for each realted user (to check their relations)
function addRelatedUsersToResult($id, &$result) {
    $relatedUsers = Users::where('pic_for', $id)->get();

    // add the related users and checks their children
    foreach ($relatedUsers as $relatedUser) {
        $result->push($relatedUser->id);
        addRelatedUsersToResult($relatedUser->id, $result);
    }    
}
0
ответ дан Florian Laforgue 19 March 2019 в 10:16
поделиться

Попробуйте:

$user = Users::find(5); //get the inital user
$picFor = $user->pic_for; //get its pointer
$pictures = []; //initialize the result array
while (!is_null($user) && !is_null($picFor)) { //if I have a valid user and pointer
  $user = Users::find($picFor); //get the user for the pointer
  if ($user !== null) { //if I have a valid user
    $picFor = $user->pic_for; //get the next pointer
    $pictures[]= $user->id; //add the user id to the result array
  }   
}

Основная проблема, с которой вы столкнулись, заключается в том, что вы пропускаете некоторые нулевые проверки.

0
ответ дан namelivia 19 March 2019 в 10:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: