[英]Selecting messages from user_id to user_id
我試圖使真正簡單的功能用戶能夠僅向管理員發送消息,並由管理員對此消息進行回答。
到目前為止,我已經用以下各列制作了表格message
id | from_id | to_id | subject | message
在控制器中,我應該選擇發送給當前登錄用戶的所有消息(不確定是否正確)
public function index(){
//$messages = Message::latest()->get();
$currentUser = Auth::user()->id;
$messages = Message::
whereRaw('message.id = (select max(id) from `message` m2 where m2.to_id = '.$currentUser.')' )
->orderBy('id', 'desc')
->get();
return view('test.index', compact('messages'));
}
現在我正在嘗試使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]:柱未找到:(:SELECT * FROM SQL 1054未知列在'where子句' 'message.user_id'
message
,其中message
。user_id
= 4和message
。user_id
不是由空順序created_at
ASC)
在用戶模型中,我添加了與消息的關系,例如:
public function messages() {
return $this->hasMany('App\Message');
}
在消息模型中
public function user(){
return $this->belongsTo('App\User');
}
我的問題為什么在我的按鈕上發送from_id時在查詢中正在尋找user_id以及如何解決這個問題?
為什么在查詢中尋找
user_id
您需要在該關系中添加外鍵和ID來修復錯誤,例如:
public function messages() {
return $this->hasMany('App\Message', 'from_id', 'id');
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.