为了账号安全,请及时绑定邮箱和手机立即绑定

Laravel 中加载观察者的问题

Laravel 中加载观察者的问题

PHP
慕运维8079593 2021-11-26 14:45:43
我试图让观察者,当我在表单中创建我的财产/广告时,我转储了一些字符串和信息,但我只是收到成功消息,即财产/广告是在没有转储和信息的情况下创建的。它还将其插入到数据库中。我只是遵循 Laravel 的常规文档。任何帮助表示赞赏。这是我的代码。属性观察器.php<?phpnamespace App\Observers;use App\Property;class PropertyObserver{    public function created(Property $property)    {        dd('Propertyyyyyyyyyy!!!', $property);    }    public function updated(Property $property)    {    }    public function deleted(Property $property)    {    }}应用服务提供者.php<?phpnamespace App\Providers;use App\Property;use App\Observers\PropertyObserver;use Illuminate\Support\Facades\Schema;use Illuminate\Support\ServiceProvider;class AppServiceProvider extends ServiceProvider{    /**     * Register any application services.     *     * @return void     */    public function register()    {        $this->publishes([            base_path().'/config/permissions.php' => config_path('permissions.php'),        ]);        $this->publishes([            base_path().'/config/roles.php' => config_path('roles.php'),        ]);    }    /**     * Bootstrap any application services.     *     * @return void     */    public function boot()    {        Schema::defaultStringLength(191);        $this->mergeConfigFrom(            base_path().'/config/permissions.php', 'permissions'        );        $this->mergeConfigFrom(            base_path().'/config/roles.php', 'roles'        );        Property::observe(PropertyObserver::class);    }}
查看完整描述

1 回答

?
函数式编程

TA贡献1807条经验 获得超9个赞

Laravel 观察者只监视 Eloquent 事件,例如Model::create();

因此不会调度事件,因为您使用 DB Facade 直接插入值而不使用 Eloquent ORM

因此更改您的代码以使用 Eloquent


$property_id = $property->create([

                        'title' =>  $request->title,

                        'description' => $request->description,

                        'email' => $request->email,

                        'number' => $request->number,

                        'city' => $request->city,

                        'street' => $request->adresa,

                        'price' => $request->cena,

                        'quadrature' => $request->kvadratura,

                        'main_photo_id' => $main_photo_id,

                        'main_video_id' => $main_video_id,

                        'active' => 'Q',

                        'page_views' => '0',

                        'user_id' => Auth::user()->id,

                        'expires_on' =>  Carbon::now()->addDays(30),

                        'created_at' =>  Carbon::now(),

                        'updated_at' =>  Carbon::now()

                    ])->id;

不要忘记在您的模型中

或仅在您的模型中使属性可填充App\Property


protected $guarded = []; // yolo


查看完整回答
反对 回复 2021-11-26
  • 1 回答
  • 0 关注
  • 214 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信