Сервис который выдаёт информацию об IP, страну, город, данные об провайдере и т.д и т.п. (ipdata)
$CURRENT_USER_ID = \Auth::user()->id;
$rsPost = Post::with([
'bookmark_users' => function($q) use($CURRENT_USER_ID) {
$q->where('id', $CURRENT_USER_ID);
}
])
->where('id', 'ID_НОВОСТИ')
->first();
if($rsPost) {
if($rsPost->bookmark_users->count() > 0) {
// Удалить
}else{
// Добавить
}
}
а как лучше проверять в таком случае на наличие закладки на странице с самой новостью?
Через связь bookmark_users это для каждого пользователя будет создаваться запрос.
<?php
$posts = Post::with(['bookmark_users'])
->get();
foreach ($posts as $item) {
if($item->bookmark_users->count() > 0) {
// Пост добавлен в закладки одним или несколькими юзерами
}else{
// Никто не добавлял в закладки данный пост
}
}
Тут надо скорее пинать этих дятлов с квартирами. Вполне могут генерить файл на лету, а не по крону.
У нас был один такой контрагент, крупный банк причем. Я им писал, чтобы проверили телефонную линию, а то модем, через который их веб-сервер подключен к интернету, не справляется с нагрузкой.
Исходя из Вашего примера данных, всё должно "проканать"... :)