bugfix> php > 投稿

私はそれらのレシピに従って以下を行いました。

  1. カスタムモデルを作成する
  2. このカスタムモデルに画像を追加する 

レシピのように発生しないことをいくつか検出しましたが、フォーム、グリッド、検証、画像をアップロードできるように拡張されたフォームでカスタムモデルを動作させると、送信後にこのエラーが発生しました新しいオブジェクトを作成する形式:

An exception occurred while executing 'INSERT INTO app_designer_image (type, path, owner_id) VALUES (?, ?, ?)' with params ["avatar", null, 2]:

画像をアップロードする方法が見つかりません。レシピに従って、 sylius.designer.pre_create を聴きながらImage Upload Serviceリスナーを定義しましたおよび sylius.designer.pre_update しかし、それらのイベントは決してトリガーされず、画像が永続化されるとき、パスが定義されていないため、常に失敗します...

何が起きているかの手がかりはありますか?

回答 1 件
  • OK、問題が見つかりました。イベントリスナーの構成が間違っていたため、リスナーを間違ったイベントにアタッチしました。

    私の間違いは、このレシピのすべての手順に厳密に従うことでした。問題は、レシピがに基づいていることです拡張版 既存のモデルの名前。カスタムモデルのイベントの名前の前に app. が追加されます。   sylius. の代わりに 。

    したがって、この例のイベントは sylius.shipping_method.pre_create です  そして、私のものは sylius.designer.pre_create ではありません  しかし、 app.designer.pre_create

    これを修正すると、すべてが期待どおりに動作し始めます。

あなたの答え