세부 사항은 매우 짧지 만 현재 사용자 ID (로그인 한 사용자)를 receiver_id
및 sender_id
과 대조하여 수신 및 발신 메시지를 모두 표시하고이를 gridview에 표시한다고 가정합니다.
접근 방법이 될 수있다 : 이것은 당신이 그렇지 않으면 당신은 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 페이지를 찾을 수 없습니다. '라는 메시지가 나타납니다. 수신 및 전송 된 폴더는 백엔드/뷰에 있습니다. 조언 좀 해줄 수 있니? 감사. –