创建火灾事件和另一条记录

时间:2016-09-05 19:49:52

标签: php laravel events eloquent

我尝试创建公司和用户。创建公司时应该创建fire事件。我注册观察员,一切都很好。但是用户需要有密码和电子邮件(这些数据是从表单发送的),但公司表没有这个字段。目前,我在Company模型中声明了两个字段public $tmpEmailpublic $tmpPassword,同时我分配了填充此属性的属性。之后我在观察员课上阅读了这个属性,但对我来说还不够好。我怎么能做得更好?

简化示例:

class Company extends Model
{
    $fillable = ['company_name', 'phone_number'];
}

class CompanyObserver
{
    public function created(Company $company)
    {
        print_r($company->company_name);
        print_r($company->tmpPassword);
        print_r($company->tmpEmail);
        $user = new User(['name' => $company->company_name', 'email' => $company->tmpEmail, 'password' => $this->tmpPassword);
    }
}

1 个答案:

答案 0 :(得分:0)

只是一个格式化的想法

在我看来,你在模特中创造了太多的东西。 Company应该只知道自己。

如果您有类似表单中的操作的方案:

public function actionFromForm(Request $request) {
   $company = //Save your model
   $user = new User(['name' => $company->company_name, 'email' => $request->input('tmpEmail'), 'password' => $request->input('tmpPassword'));
}