あなたは本当に短いですが、現在のユーザーID(ログインしているユーザー)をreceiver_id
とsender_id
と照合して、受信メッセージと送信メッセージの両方を表示し、それらをグリッドビューに表示すると仮定します。
アプローチは次のようになります。これは、あなたがそうでなければ、あなたがYii::$app->user
がnull
ある場合をキャッチする必要がログインしているユーザーへのアクセスを制限されていることを想定してい
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,
]);
}
。
こんにちは、ありがとうございます。あなたは私を正しくした。 giiで送受信されたメッセージを含むグリッドを持つカスタムビューを生成することはできますか。手動で作成する必要はありますか?ありがとう。 –
CRUDジェネレータを使用してカスタムビューを作成し、そのラベルを追加しました:['label' => '着信文字'、 'url' => ['着信/インデックス']]、 ['label' => '、' url '=> [' sent/index ']]、 ラベルをクリックすると'ページが見つかりません404 'と表示されます。着信して送信されるフォルダはバックエンド/ビューにあります。何か助言してもらえますか?ありがとう。 –