你真的很缺乏細節,但我認爲你希望通過將當前用戶ID(登錄用戶)與receiver_id
和sender_id
匹配顯示傳入消息和發送消息,並在gridview中顯示它們。
方式可能是:
public function actionIndex()
{
$user = Yii::$app->user->identity;
$searchModel = new MesssageSearch();
$dataProvider = $searchModel->search(Yii::$app->request->queryParams);
// filter on ownership of either sender or receiver
$dataProvider
->query
->andWhere(['receiver_id' => $user->id])
->orWhere(['sender_id' => $user->id]);
$dataProvider->setSort([
'defaultOrder' => ['created_at' => SORT_DESC],
]);
return $this->render('index', [
'searchModel' => $searchModel,
'dataProvider' => $dataProvider,
]);
}
這是假設你很少有機會獲得登錄用戶,否則你需要捕捉的情況下Yii::$app->user
是null
。
嗨,非常感謝您的回答。你說得對。我可以使用gii生成包含發送和接收消息的網格的自定義視圖,還是應該手動編寫它?謝謝。 –
我使用CRUD生成器來創建自定義視圖並添加它們的標籤:['label'=>'傳入的字母','url'=> ['incoming/index']], ['label'=>'Sent letters ','url'=> ['sent/index']], 但是當我點擊標籤時,它說'未找到頁面404'。傳入和發送的文件夾位於後端/視圖中。你能建議一些事嗎?謝謝。 –