【问题标题】:Unable to generate a Cashier PDF in Laravel无法在 Laravel 中生成 Cashier PDF
【发布时间】:2015-06-19 17:44:33
【问题描述】:

我正在使用 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 布局,如果我选择的话。

【问题讨论】:

  • 我在 Laravel 4.2 上,发票只是 html。即使文档声明:“使用 downloadInvoice 方法生成发票的 PDF 下载。是的,这真的很简单:”
  • 绝对是5的PDF。代码也引用了一些PDF库

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


【解决方案1】:

我要复活这只野兽。

我遇到了类似的问题,因为未加载服务提供商。如果您检查 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 键中。

对于像我们一样遇到这种情况的任何人。

【讨论】:

    【解决方案2】:

    我刚遇到这个(L5.1,Cashier 6.0)。这似乎是由于服务提供者没有正确加载造成的。

    这是我修复它的方法:

    1. 检查您是否添加了正确的服务提供商,在撰写本文时是 Laravel\Cashier\CashierServiceProvider 到您的 config/app.php
    2. 如果还是不行,请运行php artisan config:clear 以确保选择服务提供商。

    开票愉快!

    【讨论】:

      猜你喜欢
      • 2017-11-14
      • 1970-01-01
      • 2021-10-19
      • 2016-10-02
      • 2016-07-30
      • 2016-04-27
      • 2017-06-04
      • 1970-01-01
      • 2018-11-19
      相关资源
      最近更新 更多