Size: a a a

2020 March 12

zN

zVlad Nesquik in Laravel Pro
Игорь
кстати, да, вариант
Пробуй :)
Возможно, в твоем случае и что то не получится, но всеравно.
источник

И

Игорь in Laravel Pro
zVlad Nesquik
Пробуй :)
Возможно, в твоем случае и что то не получится, но всеравно.
в моем? )) я не автор вопроса
источник

zN

zVlad Nesquik in Laravel Pro
Игорь
в моем? )) я не автор вопроса
Аа, ну сорян) 😅
источник

l

lempzz in Laravel Pro
WhatchThis
Мне надо отследить была ли джоба запланирована ранее какого-то события, и только в случае если да - выполнять её. Допустим, я запланировал отправку напоминания пользователю, но если он после этого зашёл в сервис, и посмотрел напоминание - смысла слать его уже нет. Собственно я и хочу проверять время последнего визита и время создания задачи, как самый простой и логичный вариант.
а разве в джобе нельзя добавить свое поле и в него записать дату создания?
и когда джоба сериализируется, то сохранит эту дату и при выполнении можно будет смотреть на это поле
источник

EG

Egor Gruzdev in Laravel Pro
WhatchThis
Потому что если бы было возможно просмотреть время постановки в очередь - этот вариант был бы и проще в реализации, и дешевле по ресурсам)
Если дата запуска жоба больше даты прочтения уведомления то не нужно делать извещение.
источник

EG

Egor Gruzdev in Laravel Pro
А дата запуска жоба это time()
источник

N

Nick in Laravel Pro
Привет. Если я хочу хранить в одной таблице все языковые поля типа title, title_ru, title_en как мне написать аксессор что бы можно было юзать $product->title
источник

EG

Egor Gruzdev in Laravel Pro
zVlad Nesquik
Просто джобы это запланированые задания.
Проще будет так тогда: если через н-минут пользователь не глянул новость, то создается джоба и отправляется уведомление. Сразу. Ну или по мере загружености джоб.
Если пользователь глянул новость, то просто не создается джоба. И не надо ее удалять будет
Создается жоб с отрочкой на работу в n минут, как только начинает работать проверяет прочитано или нет, далее по результату, что то делает.
Ваш вариант потребует запуск по расписанию выборки и поиск не прочитаных новостей, зачем?
источник

EG

Egor Gruzdev in Laravel Pro
Nick
Привет. Если я хочу хранить в одной таблице все языковые поля типа title, title_ru, title_en как мне написать аксессор что бы можно было юзать $product->title
Смотри значение локали и в зависимости отнее аксесор будет отображать нужные поля
источник

l

lempzz in Laravel Pro
Nick
Привет. Если я хочу хранить в одной таблице все языковые поля типа title, title_ru, title_en как мне написать аксессор что бы можно было юзать $product->title
если у тебя есть поле title и аксесор будет getTitleAttribute, то будет рекурсия. если не ошибаюсь
источник

N

Nick in Laravel Pro
lempzz
если у тебя есть поле title и аксесор будет getTitleAttribute, то будет рекурсия. если не ошибаюсь
дну не знаю рекурсия ли но возвращает null
источник

N

Nick in Laravel Pro
если в бд title_ru, title_en то $product->title работает норм
источник

N

Nick in Laravel Pro
а как бы мне в getTitleAttribute если $locale = 'ru' то возвращать оригинальное значение
источник

s

sheykvit in Laravel Pro
lempzz
если у тебя есть поле title и аксесор будет getTitleAttribute, то будет рекурсия. если не ошибаюсь
у тебя будет то, что вернет этот метод
источник

l

lempzz in Laravel Pro
Nick
а как бы мне в getTitleAttribute если $locale = 'ru' то возвращать оригинальное значение
function getTitleAttribute()
   {
       $locale = isDefLocal() ? '' : '_' . getLocal();
       
       return $this->getRawAttribute('title' . $locale);
   }
источник

l

lempzz in Laravel Pro
что-то такого
источник

EG

Egor Gruzdev in Laravel Pro
Nick
если в бд title_ru, title_en то $product->title работает норм
А зачем в базе поле title, оно на какаом-то другом языке отличном от локализаций?
источник

N

Nick in Laravel Pro
ну просто раньше сайт был одноязычный и не хочется переименовывать столбцы
источник

N

Nick in Laravel Pro
lempzz
function getTitleAttribute()
   {
       $locale = isDefLocal() ? '' : '_' . getLocal();
       
       return $this->getRawAttribute('title' . $locale);
   }
Call to undefined method App\Product::getRawAttribute()
источник

l

lempzz in Laravel Pro
ну я по памяти писал
источник