我使用这样的存储库更新模型:
public function update($id, UpdateCompanyRequest $request)
{
$attributes = $request->all();
$oldCompany = $this->company->find($id);
$newCompany = $this->company->update($id, $attributes);
// Only if it was really updated
event(new CompanyUpdated($oldCompany, $newCompany));
return redirect()->route('companies.show', $id);
}
我如何比较公司是否更新,包括其关系?例如,公司有一个地址,如果我更改了地址,则应该触发该事件。但如果没有任何改变,那么我不需要解雇这个事件。
我想到手动检查丑陋的每个字段/关系的唯一方法。
isDirty()
仅在保存模型之前有效。