Kulaxyz
@Kulaxyz
Могу лучше

В какой момент срабатывает accessor?

Всем привет. Достаю чаты из БД. При этом, для вывода списка чатов, мне не нужно обращаться к сообщениям, только к последнему. А когда идёт обращение ко всему чату, достаю все сообщения. Решил это таким образом:
1) Создал в модели Chat метод (accessor) getMessagesAttribute()
и в методах, где нужны сообщения часа, я добавляю $chat->append('messages');
И всё отлично, при обращении где нужно получаю сообщения, где не надо - нет. Но всё это делалось исключительно для улучшения производительности БД. Согласитесь, доставая список всех чатов каждый раз ещё и сообщения все вытягивать, особенно, когда их кол-во будет близко к десяткам тысяч, а то и больше не лучшая идея.
Решил проверить скорость и обнаружил, что время запроса не отличается. Что я вызываю append, что нет. То есть этот метод у меня всегда срабатывает, просто не добавляется в аттрибуты? Для проверки, кстати, создал 10к сообщений, привязанных к данному чату
  • Вопрос задан
  • 36 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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