Я имею в виду эту тему Laravel 4 Relationship: messaging systemСистема личных сообщений Laravel. Принеси все пользователи, связанные выдавать
я создал таблицы и также отношения внутри как модель «Message» и «Пользователь». Теперь я могу получить список сообщений, отправленных мной через эту команду user :: find ($ myid) -> sent_messages() -> get();
Мои вопросы
Как мы можем получить список пользователей, которые были обмена сообщениями для меня (зарегистрированный пользователь)? Я имею в виду, что в таблице сообщений «from» может быть зарегистрирован пользователь (1) или «to» может быть зарегистрирован в пользователе (1). Я хочу получить список других пользователей, которые общаются с пользователем (зарегистрированным пользователем).
Надеюсь, вы поймете мой вопрос и помощь. Я новичок в laravel и пытаюсь изучить вещи и лучшие практики. Если у вас есть предложение использовать любую систему обмена сообщениями уже в github. Я нашел одно имя «Laravel-messenger», но не подходит для меня.
Ваши предложения и ответы приветствуются. БЛАГОДАРЯ
Запрос $ result = Messges :: where ('to_user_id', '=', my_user_id); Вернет ли сбор сообщений, где «to_user_id» = мой id правильно? Это означает те сообщения, которые кто-то отправил мне правильно? Что, если первое сообщение будет тем, кого я послал кому-то. WIll этот же запрос работает там тоже? Спасибо –
если вы отправляете сообщения, которые вы отправляете кому-то, просто используйте: $ result = Messges :: where ('from_user_id', '=', my_user_id); (вы также можете использовать красноречивый 'union' to'merge 'этот два типа запросов). –
В вышеупомянутом решении у вас также не возникнет проблем, когда какой-либо пользователь удалит сообщение. Затем вы можете добавить два булевых столбца «deleted_by_sender» и «deleted_by_receiver», если каждый из них истинен, тогда вы можете удалить строку. –