Mein Finder von Auth
hat Bedingungen, die ich auf $this->request
zugreifen muss, aber ich habe keinen Zugang für das auf UsersTable
.Pass zusätzliche Daten zu Finder Auth
AppController ::
$this->loadComponent('Auth', [
'authenticate' => [
'Form' => [
'finder' => 'auth',
]
]
]);
UsersTable initialisieren
public function findAuth(Query $query, array $options)
{
$query
->select([
'Users.id',
'Users.name',
'Users.username',
'Users.password',
])
->where(['Users.is_active' => true]); // If i had access to extra data passed I would use here.
return $query;
}
gibt ich brauche ein zusätzliches Daten Fom AppController
zu finder
auth
da ich nicht Zugang zu $this->request->data
auf UsersTable
.
aktualisieren
Menschen auf Kommentare sagen, dass ein schlechtes Design ist so ich genau erklären, was ich brauche.
Ich habe eine Tabelle users
aber jeder Benutzer gehört zu einem gym
. Die username(email)
ist einzigartig nur für eine bestimmte gym
, so dass ich eine [email protected]
von gym_id 1
und eine weitere [email protected]
von gym_id 2
haben kann. Auf Login-Seite habe ich die gym_slug
zu auth finder
was gym
der Benutzer username
, die ich gehört gehört zu erzählen.
Das klingt wie möglicherweise schlechtes Design für mich, könnten Sie zeigen, was Sie weitergeben wollten? Es muss möglich sein, als ein Verhalten in irgendeiner Weise obwohl :-) – Spriz
Ich passiere eine Fitness-Studio Slug an der Url, so muss ich die ID des Fitness-Studio basierend auf diesem Slug zu filtern bei Benutzer finden, weil ich 'gym_id' habe Benutzertisch. Ich kann auf den Slug durch 'this -> request-> params ['gym_slug]' zugreifen, aber ich habe keinen Zugang dazu bei 'UsersTable' –
Wir brauchen ein bisschen mehr Informationen, um hier weiterzumachen. Es klingt sowohl von der Frage als auch von den Kommentaren, dass Sie einen Benutzer authentifizieren und dann versuchen, ihn auf die Seite seines Studios umzuleiten. Bearbeiten Sie Ihre Frage und geben Sie genau an, was Sie tun und warum.Sie erwähnen das Fitness-Studio erst im obigen Kommentar und ich bin neugierig, warum Sie die Anfragedaten umleiten müssen (wenn Sie das gerade tun), da Sie die gym_id in derselben Tabelle gespeichert haben. –