Laravel Postgre无效的文本表示

时间:2017-06-20 01:19:28

标签: php mysql postgresql laravel-5

我的Laravel应用程序出错了

  

无效的文本表示:7错误:boolean类型的输入语法无效:" 2" (SQL:select * from" tasks"其中extract(" due_date")= 20和" status"!= 2)

我对Laravel Controller的查询如下:

$datav['dueTasks'] = Task::whereDay('due_date', date('d'))->where('status','!=','2')->get();

这是从mysql db迁移的,所以问题可能是状态不等于2语法。

有谁知道如何解决这个问题? 谢谢!

1 个答案:

答案 0 :(得分:0)

原来这是迁移表。

我的任务"。"状态"是一个布尔数据类型,在mysql中变成TINYINT。

在postgre中,我将数据类型更改为smallInt并运行。

public function up()
{
  Schema::create('tasks', function (Blueprint $table) {
      $table->increments('id');
      $table->string('name');
      $table->date('start_date');
      $table->date('due_date');
      $table->**smallInteger**('status')->default(1);
      $table->smallInteger('priority')->default(8);
      $table->text('description');
      $table->timestamps();
  });
}