小编pat*_*ato的帖子

Laravel测试不会在每次测试后回滚事务

我的测试使用该特征RefreshDatabase在开始测试之前“新鲜”迁移,并对每种测试方法使用事务。

迁移工作正常,但是事务根本无法正常工作。

我尝试公开我的设置:

  • 在Docker容器中运行的MariaDB 10.1(我已经证明我的测试中使用的所有表都在InnoDB中,因此支持事务)
  • 基本测试类正在使用 RefreshDatabase
  • 我尝试使用单独的连接进行测试,$connectionsToTransact并且还使用默认连接进行测试。交易也不起作用

我的setUp方法:

protected function setUp()
{
    parent::setUp();

    Queue::fake();
}
Run Code Online (Sandbox Code Playgroud)

您可以在此要点中找到完整的测试类和测试基类:https : //gist.github.com/patriziotomato/e25de1e160dace08edefa682b64bd150

我已经尝试调试,并且还开始进行PDO操作并回滚事务,因此laravel代码似乎试图进行事务处理并回滚,但是在我的测试中没有任何影响。

我想知道还有什么地方可能出问题

testing pdo transactions mariadb laravel

6
推荐指数
4
解决办法
2738
查看次数

使用参数Vue.js链接到路由

我正在使用Vue.js和Laravel来绘制一个列出产品的简单表格。从那里,我想链接到产品详细信息页面,如下所示:

<a href="{{ route("product::details", ['product' => '???']) }}">@{{ product.id }}</a>

由于该表是在客户端基于数据对象生成的,因此我正在寻找实现该方法的最优雅的方式,同时又不绕过任何route()允许我链接到命名路由的laravel方法。

我是否真的必须手动将route-method的结果与Javascript中的Vue变量合并?

在我看来是这样的:

<a href="{{ route("product::details", ['product' => ':product.id']) }}">@{{ product.id }}</a>

Vue通过数据绑定可以解析/注入哪些内容?

php laravel vue.js laravel-5

4
推荐指数
1
解决办法
2059
查看次数

在 Laravel 中,如何控制 Job 是通过队列处理还是同步处理

我为我的大部分“业务交易”编写了 Jobs,结果证明它在干净、可读的架构方面运行良好。

在作业本身中,我必须决定作业在我的代码中分派后是否应该同步运行或通过队列运行。

大多数时候我可以清楚地决定什么最适合一份工作。尽管如此,在某些情况下,在继续进一步的流程之前,必须知道任务已完成。有时,将任务排队是可以的,因为没有依赖性。

在这种情况下,我希望能够在我的代码中控制此流程。

例如通过做

$this->dispatch(new MyJob());

使用默认方式和

$this->queue(new MyJob())$this->run(new MyJob())以任何一种方式强制。

这是否有可能,或者我对这个话题完全感到困惑?

queue laravel

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

标签 统计

laravel ×3

laravel-5 ×1

mariadb ×1

pdo ×1

php ×1

queue ×1

testing ×1

transactions ×1

vue.js ×1