如何手动调用传递数据到模态观察器并激活观察者

时间:2018-04-25 08:35:29

标签: laravel

我正在开发Laravel v4.2项目,我想在elasticsearch中添加一个帖子。但在我的场景中,帖子有多个帖子媒体,最多五个,还有帖子位置和标签用户用户列表。由于外键,帖子,媒体和位置以及标签用户条目已在单独的表中完成。 但我的问题是我把模态观察者放在帖子模态上,当我上传帖子时,我只收到帖子模态信息,而不是整个帖子,包括帖子,帖子后,帖子位置和标签用户列表。那么就是解决这个问题的最佳方法,我将所有后期数据都收到了模态观察者。有一点很重要的是,标签用户,帖子位置和后期媒体也有单独的模型和观察者只是放在帖子模式上,第一个条目在post表中完成,成功后位置,媒体和标签用户下面是我的工作代码。 / p>

Post modal
    if ($this->post = Post::create($updated_post_params)) {
       //save post location , media
       if ($this->savePostRelations($inputs, $data)) {
           DB::commit();
    } else if (connection_aborted()) {
        throw new Exception('Connection abort!');
    } else {
       throw new Exception(Notifications::$error['multi_post_error']);
    }

观察

Post::observe(new PostObserver);

收到当前的观察员数据

Array
(
    [post_type_id] => 1
    [user_id] => 87
    [text_content] => 
    [client_ip_address] => 192.168.1.46
    [local_db_path] => 18372547
    [updated_at] => 2018-04-25 07:44:45
    [created_at] => 2018-04-25 07:44:45
    [id] => 11041871
)

预期的观察员数据

Array
    (
        [post_type_id] => 1
        [user_id] => 87
        [text_content] => 
        [client_ip_address] => 192.168.1.46
        [local_db_path] => 18372547
        [updated_at] => 2018-04-25 07:44:45
        [created_at] => 2018-04-25 07:44:45
        [id] => 11041871
        [media] =>[
                {
                  [id] => 12525
                  [file] => something.jpg
                }
                {
                  [id] => 12526
                  [file] => something.jpg
                }
        ]
        [location] =>[
                {
                  [id] => 12525
                  [fs_location_id] => hhyf415214425hhsd
                  [location] => Banglore 
                } 
        ]
    )

建议任何有用的链接和解决方案。

0 个答案:

没有答案