Laravel 5.5 LaravelCollective Form in Blade - DatabasePresenceVerifier错误的SQL语法

时间:2017-10-17 07:58:25

标签: laravel-5 laravel-blade laravelcollective

Blade模板中表单上的LaravelCollective文本字段:

{!! Form::text('AssignmentType', ' ', ['class' => 'form-control form-check50']) !!}

UNIQUE的Validator生成此SQL命令:

从[AssignmentType]中选择count(*)作为聚合,其中[AssignmentType] = Staff

输入到表单字段的值缺少SQLSQL驱动程序为MSSQL生成的SQL命令中的引号。这使得SQL认为它的列名不是字符串值。

添加引号后,该命令在MSSQL Studio中按预期工作。

由DatabasePresenceVerifier构建的查询

 +wheres: array:1 [▼
    0 => array:5 [▼
      "type" => "Basic"
      "column" => "AssignmentType"
      "operator" => "="
      "value" => "Staff"
      "boolean" => "and"
    ]
  ]

这是一个错误还是我在LaravelCollective表单字段中缺少某些内容?

1 个答案:

答案 0 :(得分:0)

使用正确的数据库连接后,此问题就消失了。

从之前关于表单验证器的问题:
您可以将连接添加到验证规则,例如“唯一:connection.table,column' - jfadich