无法在Laravel中生成出纳员PDF

时间:2015-04-14 07:49:15

标签: php pdf laravel laravel-5 laravel-cashier

我正在使用Laravel 5从Cashier生成的订阅中生成PDF。文档说这就像调用一样简单:

return $user->downloadInvoice($invoice->id, [
    'vendor'  => 'Your Company',
    'product' => 'Your Product',
]);

不幸的是我收到了一个奇怪的错误:

No hint path defined for [cashier]

我实际使用的代码如下:

Route::get('billing/invoices/download/{id}', function($id){
    $user = Auth::user();
    //$invoice = $user->invoices()->find($id);
    return $user->downloadInvoice($id, [
        'vendor'  => 'Certify Me',
        //'product' => $invoice->lines->data[0]['plan']->name,
        'product' => 'Subscription',
    ]);
});

docs让我假设PDF是自动生成的。我假设我可以覆盖PDF布局,如果我选择的话。

2 个答案:

答案 0 :(得分:3)

我刚刚碰到了这个(L5.1,Cashier 6.0)。这似乎是由于服务提供商未正确加载造成的。

以下是我修复它的方法:

  1. 在撰写Laravel\Cashier\CashierServiceProvider config/app.php时,检查您是否添加了正确的服务提供商
  2. 如果仍然无效,请运行php artisan config:clear以确保服务提供商已被接听。
  3. 快乐发票!

答案 1 :(得分:0)

我要复活这只野兽。

我遇到了类似的问题,因为未加载服务提供商。如果您结帐CashierServiceProvider,您会看到它添加了必要的名称空间'对于'收银员'前缀视图。

public function boot()
{
    $this->loadViewsFrom(__DIR__.'/../../views', 'cashier');

    $this->publishes([
        __DIR__.'/../../views' => base_path('resources/views/vendor/cashier'),
    ]);
}

Laravel\Cashier\CashierServiceProvider添加到config/app.php文件和providers密钥内。

对于那些像我们一样经历过这种情况的人。