Php 选择从用户标识到用户标识的消息

Php 选择从用户标识到用户标识的消息,php,laravel,laravel-5,Php,Laravel,Laravel 5,我试图让真正简单的功能用户能够只向管理员发送消息,管理员回答这条消息 到目前为止,我已经用以下列制作了表message id | from_id | to_id | subject | message 在控制器中,我有这个选项,它应该选择发送给当前登录用户的所有消息(不确定是否正确) 现在,我正在尝试创建viewMessage函数 在索引刀片中,这是指向单个消息的链接 {!! link_to('test/view/' . $message->from_id, $message->

我试图让真正简单的功能用户能够只向管理员发送消息,管理员回答这条消息

到目前为止,我已经用以下列制作了表
message

id | from_id | to_id | subject | message 
在控制器中,我有这个选项,它应该选择发送给当前登录用户的所有消息(不确定是否正确)

现在,我正在尝试创建
viewMessage
函数

在索引刀片中,这是指向单个消息的链接

{!! link_to('test/view/' . $message->from_id, $message->subject) !!}
我的路线

Route::get('test/view/{id}', 'MessageController@messageView')->name('test.view');
和控制器功能

public function messageView($id) {

    $user = User::where('id', $id)->first();

    $messages = $user->messages()->orderBy('created_at', 'asc')->get();
    return View::make('test.view', compact('messages'));
}
当我点击按钮时,我得到了这个错误

SQLSTATE[42S22]:未找到列:“where子句”中的1054未知列“message.user_id”(SQL:select*from
message
where
message
user_id
=4和
message
用户id在
asc创建时不是空顺序)

在用户模型中,我为消息添加了如下关系:

public function messages() {
    return $this->hasMany('App\Message');
}
和在消息模型中

public function user(){ 
    return $this->belongsTo('App\User');
}
我的问题是,在我的按钮上我从用户id发送时,为什么查询中要查找用户id,以及如何修复此问题

查询中为什么要查找
用户id

您需要修复错误,例如:

public function messages() {
    return $this->hasMany('App\Message', 'from_id', 'id');
}

你得到的错误很简单。。。这意味着在消息表上没有列名
user\u id
检查您的表properly@MasivuyeCokile是的,我得到了错误,这意味着我没有从哪里得到这个用户id,因为我没有在任何地方添加它。是的,这就是问题所在。我很强硬,因为我在表格中添加了FK,它将使用它们。。但在第二个艰难时刻,我应该告诉它该看什么。非常感谢。
public function messages() {
    return $this->hasMany('App\Message', 'from_id', 'id');
}