首先,让我们进入应用程序的上下文:
我们在CustomerController上,这是Resource Controller向Store方法发送帖子请求。
这是我的商店方法:
$customerDTO = new \repositories\dtos\CreateCustomerDTO();
$customerDTO->hydrate( Input::All() );
/** @var Customer $customer */
$customer = $this->customers->create( $customerDTO );
if ( $customer != null ){
header('Location: '.url('/customers/'.$customer->clacli));
return Redirect::action('CustomerController@show', array($customer->id) );
}
$userMessage = array(
'messageType' => 'error',
'messageContent' => 'Error creating a new Customer'
);
return Redirect::action('CustomerController@index')
->with(array('userMessage' => $userMessage));
我必须输入“标题”,因为重定向调用无效。
当我把这一行:
$customer = $this->customers->create( $customerDTO );
所有重定向都停止工作。
$ this->客户内部是什么?它只是一个从控制器抽象数据库的存储库,我将需要在不久的将来更改数据库。
嗯,$ this-> customers-> create中的代码是:
return Customer::create( $dto->toArray() );
它正在运行,我的customersRepository的所有测试都在工作。它只是调用带有数据数组的Eloquent Model创建方法。
所以我无法弄清楚为什么重定向不起作用。有提示吗?
我尝试了返回'test';在致电$ this-> customers-> create($ customerDTO)之后;也没用。
答案 0 :(得分:-1)
这是一个奇怪的问题。我们修好了,不知道为什么......