Laravel 4:重定向不起作用

时间:2014-03-06 12:45:02

标签: php laravel

首先,让我们进入应用程序的上下文:

我们在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)之后;也没用。

1 个答案:

答案 0 :(得分:-1)

这是一个奇怪的问题。我们修好了,不知道为什么......