Laravel 5 回复laravel 5.2中的消息
我正在尝试在我的laravel应用程序中开发一个消息传递系统,我已经成功地向用户发送了一条消息,并在我的刀片视图的收件箱部分中检索到它们。所以我想知道的是,我到底该如何回复收件箱中的邮件 下面是我在mail.blade.php中使用它们的方式Laravel 5 回复laravel 5.2中的消息,laravel-5,Laravel 5,我正在尝试在我的laravel应用程序中开发一个消息传递系统,我已经成功地向用户发送了一条消息,并在我的刀片视图的收件箱部分中检索到它们。所以我想知道的是,我到底该如何回复收件箱中的邮件 下面是我在mail.blade.php中使用它们的方式 <table class="table table-inbox table-hover"> @foreach($messages as $meso => $message) <tbody>
<table class="table table-inbox table-hover">
@foreach($messages as $meso => $message)
<tbody>
<tr class="unread">
<td class="inbox-small-cells">
<input type="checkbox" class="mail-checkbox">
</td>
<td class="inbox-small-cells"><i class="fa fa-star"></i></td>
<td class="view-message dont-show">{{ $message->sent_to_id }}</td>
<td class="view-message dont-show">{{ $message->name }}</td>
<td class="view-message dont-show">{{ $message->subject }}</td>
<td class="view-message view-message"><p>{{ $message->body }}</p></td>
<td class="view-message inbox-small-cells"><i class="fa fa-paperclip"></i></td>
<td class="view-message text-right">{{ $message->created_at }}</td>
<td class="view-message dont-show"><button data-toggle="modal" data-target="#squarespaceModal" class="btn btn-primary center-block">Reply</button></td>
</tr>
</tbody>
@endforeach
</table>
关于如何回复这些消息的任何提示@MirzaObaid关于这方面的任何想法都取决于您打算构建什么类型的消息系统。如果它只是一条消息,不需要线程消息,那么您可以像现在这样简单地执行相同的操作,只需更新您要发送到的用户id即可。然而,如果您希望有线程消息传递,那么您至少需要一个透视表<代码>对话,
对话参与者
,对话信息
。参与者和消息都有会话的外键。conversation元数据存储在conversation、messages和participants中,其中包含用户id、last_read等。@Ian我现在的主要问题是如何选择我回复的邮件的详细信息,因为如果每条邮件中都有一条邮件重复,则当前的详细信息可能是我的查询错误的“$messages=message::where('sent_to_id','=',Auth::user()->name)->get()。这会填满收件箱,但当我单击邮件上的“答复”时,我会得到邮件上第一封邮件的值table@MirzaObaid关于这一点的任何想法都取决于您打算构建何种类型的消息传递系统。如果它只是单一消息,而不需要线程消息传递,那么您只需像现在这样做,只需更新用户id即可您正在向发送。但是,如果您希望使用线程消息,则至少需要一个透视表。对话
,对话参与者
,对话消息
。参与者和消息都有对话的外键。对话元数据存储在对话中,消息存储在消息包中es和参与者有用户id、上次读取等。@Ian我现在的主要问题是如何选择我回复的邮件的详细信息,因为如果每条邮件中都有重复的邮件,那么当前的详细信息可能是错误的“$messages=message::where('sent_-to_-id','=',Auth::user()->name)->get();”。这会填满收件箱,但当我单击邮件上的“答复”时,会得到表中第一条邮件的值
<?php
namespace App;
use App\Http\Controllers;
use App\Message;
use Illuminate\Notifications\Notifiable;
use Illuminate\Foundation\Auth\User as Authenticatable;
class User extends Authenticatable
{
public function sendMessageTo($recipient, $message, $subject)
{
Auth::user()->sendMessageTo($request->recipient, $request->subject, $request->body);
}
protected $fillable = ['name', 'email', 'password'];
// A user can send a message
public function sent()
{
return $this->hasMany(Message::class, 'sender_id');
}
// A user can also receive a message
public function received()
{
return $this->hasMany(Message::class, 'sent_to_id');
}
public function message()
{
return $this->belongsTo(Message::class);
}
public function user()
{
return $this->belongsTo(User::class);
}
}
<?php
namespace App;
use App\User;
use Illuminate\Database\Eloquent\Model;
class Message extends Model
{
protected $fillable = ['body', 'subject', 'sent_to_id', 'sender_id'];
// A message belongs to a sender
public function sender()
{
return $this->belongsTo(User::class, 'sender_id');
}
// A message also belongs to a receiver
public function receiver()
{
return $this->belongsTo(User::class, 'sent_to_id');
}
public function user()
{
return $this->belongsTo(User::class);
}
public function message()
{
return $this->belongsTo(Message::class);
}
public function sendMessage(Request $request)
{
// Do the validation...
// Send the message from the current user to the user with ID of 1,
// You probably always want the current logged-in user as the sender.
// We talk about the recipient later...
//
Auth::user()->sent()->create([
'body' => $request->body,
'subject' => $request->subject,
'sent_to_id' => $request->recipient,
]);
$messages = Message::where('sent_to_id', '=', Auth::user()->name)->get();
$users = User::where('id', '!=', Auth::id())->get()->pluck('name', 'id');
return view('mail')->with(compact('messages', 'users'));
}