【发布时间】:2016-09-06 04:12:28
【问题描述】:
我尝试创建公司和用户。创建公司时应该创建触发事件。我注册了观察者,一切正常。但是用户需要有密码和电子邮件(这些数据是从表单发送的)但是公司表没有这个字段。目前我在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);
}
}
【问题讨论】:
-
您在哪里创建公司?来自响应函数?
-
目前正在测试中(TDD :)),最终购买公司将在控制器中创建。
-
请把我的回答当作一个“好”格式的想法。在对 cmets 投反对票之前。在您的单元测试中,您应该只测试模型内的插入。在您的控制器中,您可以一起测试公司和用户
标签: php laravel events eloquent