【问题标题】:Laravel: BindingResolutionException using Schema\Blueprint and BuilderLaravel:BindingResolutionException 使用 Schema\Blueprint 和 Builder
【发布时间】:2014-06-20 03:21:00
【问题描述】:

我正在尝试创建一个 Laravel 应用程序,该应用程序在我的数据库中创建自定义表和列,以便存储用户生成的表单数据(自定义调查应用程序)。

我正在尝试使用 Builder 和 Blueprint 并在此基础上创建一个自定义类(就像我对 FormBuilder 所做的那样)。

例子:

namespace Acme\Helpers;

use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Schema\Builder;

class AnswersTableBuilder {

    private $builder;
    private $blueprint;

    public function __construct(Builder $builder, Blueprint $blueprint)
    {
        $this->builder = $builder;
        $this->blueprint = $blueprint;
    }

[...]

但是当我尝试在我的控制器中使用它时,例如:

use Acme\Validators\SurveyValidator;
use Acme\Repos\Survey\SurveyRepository;
use Acme\Repos\Section\SectionRepository;
use Acme\Helpers\AnswersTableBuilder;


class SurveysController extends \BaseController {

    private $surveyRepo;
    private $sectionRepo;
    private $tableBuilder;

    public function __construct(SurveyRepository $survey, SectionRepository $section, AnswersTableBuilder $tableBuilder)
    {
        $this->beforeFilter('csrf', array('only' => array('store', 'destroy', 'update')));
        $this->surveyRepo = $survey;
        $this->sectionRepo = $section;
        $this->tableBuilder = $tableBuilder;
    }

[...]

我收到一个错误:

Unresolvable dependency resolving [Parameter #0 [ <required> $dsn ]]. 

我似乎可以对我的大多数类使用 IoC 容器,也许我在这里用作依赖项的那些有问题?尝试更改我的服务提供商中的条目,但没有帮助。

任何帮助将不胜感激!

谢谢。

【问题讨论】:

    标签: laravel


    【解决方案1】:

    Illuminate\Database\Schema\BlueprintIlluminate\Database\Schema\Builder,这两个类也有依赖关系(第一个只需要表名,后者需要一个 Illuminate\Database\Connection 的实例)。

    也许你也可以尝试注入它们?

    【讨论】:

      猜你喜欢
      • 2022-12-21
      • 1970-01-01
      • 2014-12-11
      • 1970-01-01
      • 2013-02-11
      • 1970-01-01
      • 2014-04-11
      • 1970-01-01
      • 2015-03-13
      相关资源
      最近更新 更多