我使用Laravel创建复杂的注册表单。现在我想在整个过程中使用公司对象。
我目前正在构造函数中创建一个新的Company对象,如下所示:
public function __construct()
{
$this->company = new Company();
}
然后我用API中的数据填充对象。
但是每当我点击一个新的方法或路线时,该对象都会返回null。
我没有看到任何其他方式来解决这个问题?有什么想法吗? 谢谢!
return redirect()->route('register.contacts')->with('company', $company);
并在联系方式
public function contacts()
{
Session::get('company'));
}
答案 0 :(得分:4)
坚持有效的方法,没有更好的选择。您必须意识到PHP应用程序是基于请求的。每次请求后,内存中的所有数据都将丢失。您只保留存储在数据库,会话或文件系统中的内容。
此外,当您重定向到另一个路线时,您不会调用另一个控制器方法。您向客户端发送一个响应,告诉他下一个请求应该到达哪个URL。然后浏览器调用该路由。这些请求是完全分离的,因此传递数据的唯一方法是在URL中(对于完整对象不能很好地工作)或以某种方式将其存储在服务器上并在后续请求中再次加载该数据。
为了完整起见,这里有两种选择: