Проверьте, определена ли переменная сеанса

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

Я бы использовал IdentityHashMap (учитывая, что нет но IdentityHashSet) и хранить каждый узел в карте. Прежде чем узел будет сохранен, вы вызовете containsKey на нем. Если узел уже существует, у вас есть цикл.

ItentityHashMap использует == вместо .equals, чтобы вы проверяли, где находится объект в памяти, а не в том же содержимом.

0
задан Mozammil 17 January 2019 в 07:44
поделиться

2 ответа

Не могли бы вы просто сделать

if (Session::has('your_key'))
{
  //your code here
}

Обновить ответ

Определение наличия элемента в сеансе

Чтобы определить, есть ли элемент присутствует в сеансе, вы можете использовать метод has. Метод has возвращает true, если элемент присутствует и не равен нулю:

if ($request->session()->has('users')) {
    //
}

Чтобы определить, присутствует ли элемент в сеансе, даже если его значение равно null, вы можете использовать [114 ] метод. Метод exist возвращает true, если элемент присутствует:

if ($request->session()->exists('users')) {
    //
}
0
ответ дан Ismoil Shifoev 17 January 2019 в 07:44
поделиться

Я предполагаю, что вы хотите проверить, просматривал ли посетитель определенное сообщение в блоге, и в этом случае я бы, вероятно, сделал что-то подобное.

$currentPost = Post::where('slug', $slug)->first();

// You should also probably set up your relationship with Comments
$comments = \App\Comment::where('post_id', $currentPost->id)->get();

if(! in_array($currentPost->id, session()->get('posts_viewed', []))) {
    session()->push('posts_viewed', $currentPost->id);

    // Your increment could also be simplified as follows 
    $currentPost->increment('view_count'); 
}

В вашем конкретном случае вы сможете только отслеживать, просматривал ли пользователь один конкретный пост в блоге. Однако, если вы используете массив и продолжаете загружать в него просмотренные записи блога, вы сможете отслеживать просмотры многих постов блога.

0
ответ дан Mozammil 17 January 2019 в 07:44
поделиться
Другие вопросы по тегам:

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