Comment utiliser beforeSave dans CakePHP 3? $cas, $entité et $options doit toujours être rempli?
Je suis à l'intérieur "PostsTable.php" je vais essayer d'obtenir des données de formulaire pour traiter les fichiers d'image.
Dans CakePHP 2, j'ai l'habitude de faire:
public function beforeSave($options = array())
{
if(!empty($this->data['Post']['picture']['name'])...
Quelqu'un pourrait expliquer cela à Gâteau 3:
beforeSave
Cake\ORM\Table::beforeSave(Event $event, Entity $entity, ArrayObject $options)
?
AJOUTÉ
J'essaie de cet extrait de code pour voir si je suis capable de sauver ce domaine sur la base de données comme un test, mais il semble beforeSave est ignoré:
public function beforeSave($options)
{
if(!empty($entity->pic1['name']))
{
$entity->pic1 = 'jus a test';
}
Grâce
OriginalL'auteur I Wanna Know | 2015-05-08
Vous devez vous connecter pour publier un commentaire.
Commencer avec la définition de la fonction.
Depuis CakePHP est l'appel de la fonction automatiquement, c'est la façon dont il est appelé, afin de construire votre fonction de manière identique à la définition de la fonction:
Si vous n'êtes pas sûr de ce que les données sont envoyées, utiliser les
debug()
fonction:Une fois que vous trouver vos données dans
$entity
l'utiliser pour faire ce que vous voulez faire de vos données:OriginalL'auteur Naidim
Permettez-moi de lire le manuel pour vous:
Aussi:
À faire ce que vous faisiez avant d'en Cake2 vous pouvez simplement modifier
$entity
parce que les entités ont remplacé lesModel::$data
propriété.Si vous ne savez pas comment les événements de travail lire à leur sujet. Aussi le guide de migration est à lire absolument. Il énumère tout ce qui a changé.
vient de se passer ici est: j'ai obtenu ce que je voulais faire mais j'ai utilisé beforeMarshal au lieu beforeSave. Est-il un problème? Je ne veux enregistrer le chemin d'accès dans la base de données et le fichier dans un dossier. Mais beforeSave semble être ignoré...
Lire le manuel d'utilisation 😉
You can use the Model.beforeMarshal event to modify request data before it is converted into entities.
je n'ai aucune idée de pourquoi il ne fonctionne pas pour vous.pourquoi les downvotes?
OriginalL'auteur burzum