dongtang2376 2015-06-16 11:12
浏览 61

Laravel。 在App :: make('foo') - > bar()上抛出Catch Exception

I have a PriceController that updates the prices of my items. In my app, a Price is a set or PriceSegments (or Rules).

So my PriceController@update does:

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();
  }
}

And my PriceSegmentController@update does the update of each segment as follow:

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

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

  $priceSegment->save();
}

If I do the try-catch in PriceSegmentController it works as expected, but I would like to do the try-catch un PriceController in order to collect all the error and being able to inform them all at once.

The problem is the Exception is not catched and I do not know why. I guess is something related with the behaviour of App::make('foo') but I did not figure it out.

Some help please?

Thanks

EDIT: The structure of my code is based on this example: http://www.sitepoint.com/data-validation-laravel-right-way/ and I am using my own Exceptions extending the Exception PHP class

  • 写回答

1条回答 默认 最新

  • douanye8442 2015-06-16 11:27
    关注

    I think the problem occurs because you are using the default validation mechanism in laravel as described here.

    What you can do instead is to catch exceptions in PriceSegmentController and:

    • either wrap them with a custom exception type
    • or create a custom exception using exceptions you catch in that controller

      and throw your custom exception further up in the food chain.

    I hope it helps.

    评论

报告相同问题?

悬赏问题

  • ¥15 ogg dd trandata 报错
  • ¥15 高缺失率数据如何选择填充方式
  • ¥50 potsgresql15备份问题
  • ¥15 Mac系统vs code使用phpstudy如何配置debug来调试php
  • ¥15 目前主流的音乐软件,像网易云音乐,QQ音乐他们的前端和后台部分是用的什么技术实现的?求解!
  • ¥60 pb数据库修改与连接
  • ¥15 spss统计中二分类变量和有序变量的相关性分析可以用kendall相关分析吗?
  • ¥15 拟通过pc下指令到安卓系统,如果追求响应速度,尽可能无延迟,是不是用安卓模拟器会优于实体的安卓手机?如果是,可以快多少毫秒?
  • ¥20 神经网络Sequential name=sequential, built=False
  • ¥16 Qphython 用xlrd读取excel报错