小编sua*_*ger的帖子

使用Laravel中的try和catch处理错误

我想在我的应用程序中实现一个良好的错误处理,我已强制此文件捕获错误.

应用程序\ SERVICES\PayUService

try {
  $this->buildXMLHeader; // Should be $this->buildXMLHeader();
} catch (Exception $e) {
        return $e;
}
Run Code Online (Sandbox Code Playgroud)

应用程序\控制器\ ProductController的

function secTransaction(){
  if ($e) {
    return view('products.error', compact('e'));
  }
}
Run Code Online (Sandbox Code Playgroud)

这就是我得到的.

在此输入图像描述

我不知道为什么Laravel没有将我重定向到视图.错误是强制的吗?

php error-handling try-catch laravel

28
推荐指数
1
解决办法
8万
查看次数

如何正确模拟 Laravel 中的 Illuminate\Http\Request 类

我正在尝试测试一个类中的方法,该类包含使用 Laravel 中的 request() 帮助器的方法。这是方法:

类别类

public function getCanonicalUrl()
{
    return preg_match('/\/sale\/./', request()->getRequestUri())
         ? ''
         : url($this->getUrlKey());
}
Run Code Online (Sandbox Code Playgroud)

测试应该使这个帮助器在执行getRequestUri()时正确捕获 URI ,但它实际上返回一个空字符串。这是我进行的数千次测试之一。

测试

public function testCanonical()
{
    // ...

    $requestMock = Mockery::mock(Request::class)
      ->shouldReceive('getRequestUri')
      ->andReturn('/sale/random-string');

    $this->app->instance(Request::class, $requestMock);

    // ...
}
Run Code Online (Sandbox Code Playgroud)

关于如何实现这一目标有什么想法吗?提前致谢。

php unit-testing mocking laravel mockery

5
推荐指数
1
解决办法
5115
查看次数

Laravel 合并集合失败?

我正在尝试合并多个集合,但由于任何原因我无法执行此操作。我的代码看起来像这样:

$restaurant = \App\Restaurant::find(3);
$images     = $restaurant->images;
$userimages = $restaurant->userimages;
$hours      = $restaurant->hours;

$collectionMerge1 = $images->merge($userimages)->merge($hours);
$collectionMerge2 = $restaurant->userimages->merge($hours)->merge($images);
$collectionMerge3 = collect(array_merge($images->all(), $userimages->all(), $hours->all()));
Run Code Online (Sandbox Code Playgroud)

唯一有效的合并是最后一个。前面的没有显示集合包含的所有项目。为什么是这样?我究竟做错了什么?如果您查看图片,您会发现合并 1 和合并 2 中缺少对象。我尝试了多种方法来做到这一点,但只适用于最后一种。也许合并方法有密钥问题?

在此处输入图片说明

collections merge laravel laravel-5.2

4
推荐指数
2
解决办法
3648
查看次数

如何使用Illuminate/Html在Laravel中设置禁用选择选项

我从Laravel开始,我正在使用Illuminate/Html制作表格.

我想在第一个选项中添加禁用属性,但我找不到这样做的方法.

{!! Form::open(['url' => 'shelter/pets']) !!}
    <div class="form-group">
        {!! Form::label('pet_type','Type:') !!}
        {!! Form::select('pet_type', ['Select Type','dog', 'cat'], 0, ['class' => 'form-control']) !!}
    </div>
    <div class="form-group">
        {!! Form::submit('Add pet', null, ['class' => 'btn btn-primary form-control']) !!}
    </div>
{!! Form::close() !!}
Run Code Online (Sandbox Code Playgroud)

php forms laravel blade illuminate-container

1
推荐指数
2
解决办法
1万
查看次数