Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 拉雷维尔。在App::make(';foo';)上引发捕获异常->;bar()_Php_Laravel_Laravel 4_Try Catch - Fatal编程技术网

Php 拉雷维尔。在App::make(';foo';)上引发捕获异常->;bar()

Php 拉雷维尔。在App::make(';foo';)上引发捕获异常->;bar(),php,laravel,laravel-4,try-catch,Php,Laravel,Laravel 4,Try Catch,我有一个价格控制器,可以更新我的物品的价格。在我的应用程序中,价格是一组或多个价格段(或规则) 所以我的PriceController@update是否: foreach (Input::get('price_segment_id') as $price_segment_id) { try { \App::make('BF\Controllers\PriceSegmentController')->update($price_segment_id); } catch(BF\

我有一个价格控制器,可以更新我的物品的价格。在我的应用程序中,价格是一组或多个价格段(或规则)

所以我的PriceController@update是否:

foreach (Input::get('price_segment_id') as $price_segment_id)
{
  try {
    \App::make('BF\Controllers\PriceSegmentController')->update($price_segment_id);
  } catch(BF\Exceptions\ValidationException $e) {
    $errors[] = $e->get_errors();
  }
}
还有我的PriceSegmentController@update每个段的更新是否如下所示:

$priceSegment = $this->repository->find($id);
if($priceSegment) {
  // UPDATE $priceSegment with Input, etc.

  $this->validator->validate($priceSegment->toArray());

  $priceSegment->save();
}
如果我在PriceSegmentController中执行try-catch,它将按预期工作,但我希望在PriceController中执行try-catch,以便收集所有错误并能够立即通知他们

问题是这个例外没有被发现,我不知道为什么。我猜这与App::make('foo')的行为有关,但我没有弄清楚

请帮帮忙

谢谢


编辑:我的代码结构基于此示例:我正在使用我自己的异常扩展异常PHP类

我认为出现问题的原因是,您在laravel中使用了所述的默认验证机制

相反,您可以在PriceSegmentController中捕获异常,并:

  • 或者使用自定义异常类型包装它们

  • 或者使用在该控制器中捕获的异常创建自定义异常

    并在食物链中进一步抛出您的自定义异常


希望有帮助。

谢谢阿尔普。但是我已经在使用我的自定义异常。我的代码的灵感来自于扩展异常php类的ValidationException。您导入了异常类吗?请尝试捕获(\BF\Exceptions\ValidationException$e)。未捕获的异常的类名是什么?我简直不敢相信这是
BF\Exceptions\ValidationException
天哪!安德烈亚斯是对的。我错过了BF之前的首字母\首字母。。。解决了的!