Sie müssen die ID des Benutzers im Suchmodell vorladen. Wenn die Sicherheit ein Problem darstellt (dh Sie möchten nicht, dass andere Benutzer dies umgehen können, egal was passiert), müssen Sie feststellen, ob die Benutzer-ID an die Abfrage übergeben wurde, und sie dem Benutzer zurückgeben Sie wollen (dh: der eingeloggte). In meisten Situationen, werden Sie die zusätzliche Sicherheit benötigen, und sollten.
Ersetzen Sie UserPlan
mit Ihrem Modell. Da Sie keinen Code schreiben habe, habe ich keine Ahnung, was es ist :)
Bevor: Original-Index Beispiel (wie durch Gii generiert):
public function actionIndex()
{
$searchModel = new UserPlanSearch();
$dataProvider = $searchModel->search(Yii::$app->request->queryParams);
return $this->render('index', [
'searchModel' => $searchModel,
'dataProvider' => $dataProvider,
]);
}
Nach: auf die derzeit gesperrt angemeldete Benutzer:
public function actionIndex()
{
$searchModel = new UserPlanSearch();
$searchModel->user_id = Yii::$app->user->id;
// override (so users can't bypass)
$queryParams = Yii::$app->request->queryParams;
if (isset($queryParams['UserPlan']['user_id'])) {
$queryParams['UserPlan']['user_id'] = Yii::$app->user->id;
}
$dataProvider = $searchModel->search($queryParams);
return $this->render('index', [
'searchModel' => $searchModel,
'dataProvider' => $dataProvider,
]);
}
Außerdem sollten Sie Code schreiben, wenn zu veröffentlichen, es sei denn Sie Stackoverflow ein Bündel wollen von Down-Stimmen. Nur Fragen zu stellen, verstößt gegen die Regeln. Sie wollen sehen, was Sie bisher versucht haben, und einen Code, um zu gehen.