我尝试创建公司和用户。创建公司时应该创建fire事件。我注册观察员,一切都很好。但是用户需要有密码和电子邮件(这些数据是从表单发送的),但公司表没有这个字段。目前,我在Company
模型中声明了两个字段public $tmpEmail
和public $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);
}
}
答案 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'));
}