【发布时间】:2019-12-09 05:00:18
【问题描述】:
我正在设置一个系统来检查用户是否向其他用户发送了消息。
MessagesController.php
use App\Message;
use App\User;
class MessagesController extends Controller
{
public function index()
{
return view('admin.messages')->with('messages', Message::all())
->with('users', User::all());
}
消息迁移有以下数据:
Schema::create('messages', function (Blueprint $table) {
$table->increments('id');
$table->integer('from');
$table->integer('to');
$table->mediumText('text');
$table->integer('status');
$table->timestamps();
});
还有web.php
Route::get('/admin/messages', [
'uses' => 'MessagesController@index',
'as' => 'messages'
]);
所以想法是显示一个带有消息数据的面板,显示:
<tbody>
<tr>
@foreach ($messages as $message)
<td>
{{ $message->from}}
</td>
<td>
{{ $message->to}}
</td>
<td>
{{ $message->text}}
</td>
<td>
{{ $message->status}}
</td>
<td>
{{ $message->created_at}}
</td>
@endforeach
</tr>
</tbody>
这会正确加载消息表中的所有信息。但是,它将按应有的方式显示“发件人”和“发件人”以及 ID。
我希望通过 Message 表和 Users 表之间的关系填充该表,而不是用户的 ID,而是用户的名称。
我错过了什么?
【问题讨论】:
-
from and too 用户 id 对吗?
-
@mrhn 没错,'from' 和 'to' 都是用户 ID
标签: php laravel laravel-5 eloquent relationship